使用框架帮助Activity规范化


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规范化


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, "提示文字");