使用框架帮助Activity规范化
摘要
本文原创,转载请注明地址:http://kymjs.com/code/2015/05/10/01
写给那些在用、想用、还没有用过KJFrame的朋友。 KJFrameForAndroid总共分为四个功能:Activity继承链的规范,Http数据请求和上传下载,Bitmap大图加载以及ListView滚动时只加载内存图片,数据库对象存储与集合对象存储。还有一个独立出来的功能CJFrame插件化开发框架,支持启动在你的手机中未安装的apk应用。
KJFrameForAndroid下载地址:https://github.com/kymjs/KJFrameForAndroid
Activity继承链
使用你的Activity(Fragment)继承自KJActivity(KJFragment)即可。在通常的开发中,我们经常把数据初始化、findview、控件的属性设置等等的方法都写在一个onCreate()中,这样会造成onCreate方法过于臃肿,而使用KJFrame模块的基类Activity(Fragment)可以轻松解决这个问题。
- 在基类中各个方法的调用顺序:
setRootView(); //用于调用setContent();
@BindView //setRootView执行后将会执行注解绑定
initDataFromThread();(执行在异步,用于做耗时操作)
threadDataInited();(initDataFromThread() 执行完成后将会回调)
initData(); //用于初始化数据
initWidget(); //用于设置控件内容
registerBroadcast(); //用于注册广播与上下文菜单
- 注解式绑定控件并设置监听
使用UILibrary,你可以只需要一行代码就完成控件的findview并设置点击事件,就像下面的示例,只需要添加@BindView注解就能实现了。
@BindView(id = R.id.xxx, click = true);
private Button btn;
这样就相当于已经调用了
private Button btn;
btn = findViewById(R.id.xxx);
btn.setOnClickListener(this);
当然,是否一定要设置点击事件是由你来决定,如果不设置,那么可以不写click=true这句话。
- ViewInject功能与Toast优化
每次在写Toast的时候都得要写上一长串代码,很麻烦。那么KJFrame很人性化的对Toast做了封装,你只需要调用
ViewInject.toast("提示文字");
同时ViewInject还封装了常用的弹出式对话框
//弹出一个选择弹窗,同时具有重载方法,
//可以自定义点击确定按钮的监听器以及弹窗的内容文字
getExitDialog(Context context);
getDateDialog(String title, TextView textView)
- 自由用法
如果受项目限制,没办法继承KJFrame的基类,那么你仍旧可以使用注解式绑定与Toast优化功能,但是使用办法略有不同。
如果不继承基类,在使用注解@BindView时需要在Activity的setContent()方法之后手动调用
AnnotateUtil.initBindView(this);
在Toast使用时由于没有继承框架基类,则需要手动传入Context对象
ViewInject.toast(this, "提示文字");
使用框架帮助Activity规范化的更多相关文章
- Android Small插件化框架解读——Activity注册和生命周期
通过对嵌入式企鹅圈原创团队成员degao之前发表的<Android Small插件化框架源码分析>的学习,对Android使用的插件化技术有了初步的了解,但还是有很多需要认真学习的地方,特 ...
- Android核心分析之二十二Android应用框架之Activity
3 Activity设计框架 3.1 外特性空间的Activity 我们先来看看,android应用开发人员接触的外特性空间中的Activity,对于AMS来讲,这个Activity就是客服端的 ...
- android系统启动框架、Activity界面显示过程详解
一.Android系统框架 android的系统架构和其操作系统一样,采用了分层的架构.从架构图看,android分为四个层,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和linux核心 ...
- KJBitmap与KJHttp的深度用法
摘要 本文原创,转载请注明地址:http://kymjs.com/code/2015/09/24/01这篇文章是对KJFrameForAndroid使用的一个深入学习 之前写过一些有关KJFrame的 ...
- Activity中UI框架基本概念
Activity中UI框架基本概念 Activity 是应用程序的基本组成部分,提供了可视的界面,UI容器, 与用户进行交互: 具体Acitivity是怎么样显示这些事视图元素以及响应事件交互的. 一 ...
- Activity 与 springMvc相整合
准备环境: springMvc框架及Activity所需要的jar: 创建spring-activity.xml文件,里面内容: <?xml version="1.0" en ...
- activity 工作流学习(一)
一.了解工作流 1.工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程自动进行,从而实 ...
- Android清单文件具体解释(六) ---- <activity>节点的属性
1.android:allowTaskReparenting android:allowTaskReparenting是一个任务调整属性,它表明当这个任务又一次被送到前台时,该应用程序所定义的Acti ...
- Activity节点
1.android:allowTaskReparenting Android:allowTaskReparenting是一个任务调整属性,它表明当这个任务重新被送到前台时,该应用程序所定义的Activ ...
随机推荐
- 20165203《Java程序设计》第二周Java学习总结
教材学习内容总结 第二章 (一)标识符 注意: 标识符由字母.下画线.美元符号和数字组成,长度不受限制. 标识符第一个字符不能是数学字符. 标识符不能是关键字. 标识符不能是true.false和nu ...
- gtk+学习笔记(四)
今天看了下单选按钮的设置,实现起来还是挺简单的,就是自己太不熟练 radio=gtk_radio_button_new_with_label(NULL,"a"); //第一次创建单 ...
- cve-2010-3333 Microsoft Office Open XML文件格式转换器栈缓冲区溢出漏洞 分析
用的是泉哥的POC来调的这个漏洞 0x0 漏洞调试 Microsoft Office Open XML文件格式转换器栈缓冲区溢出漏洞 Microsoft Office 是微软发布的非常流行的办公 ...
- 20165333实验一 JAVA开发环境的熟悉
JAVA开发环境的熟悉-1 1建立"自己学号exp1"的目录 2 在"自己学号exp1"目录下建立src,bin等目录 3 javac,java的执行在&quo ...
- dp入门题目
本文文旨,如题... 转载请注明出处... HDOJ 1176 免费馅饼 http://acm.hdu.edu.cn/showproblem.php?pid=1176 类似数塔,从底往上推,每次都是从 ...
- Mybatis入门及Dao开发方式
本节内容: Mybatis介绍 使用jdbc编程问题总结 Mybatis架构 Mybatis入门程序 Dao的开发方式 SqlMapConfig.xml文件说明 一.Mybatis介绍 MyBatis ...
- Zabbix监控实例
本节内容: zabbix web添加主机 定义Items 创建graph 创建template 一.zabbix web添加主机 1. 进入zabbix web界面,点击配置—>主机—>创 ...
- Python全栈开发之17、tornado和web基础知识
一.web基础知识 学习web框架之前,先来看一下web基础知识,首先要明白其本质就是socket,用户对应一个socket客户端,但是如果从socket开始开发web应用程序那么效率太了,正确的做法 ...
- 自定义排序及Hadoop序列化
自定义排序 将两列数据进行排序,第一列按照升序排列,当第一列相同时,第二列升序排列. 在map和reduce阶段进行排序时,比较的是k2.v2是不参与排序比较的.如果要想让v2也进行排序,需要把k2和 ...
- python的简介(一)
1. Python的种类 Cpython Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚 ...