使用框架帮助Activity规范化



对本文有任何问题,可加我的个人微信询问:kymjs666

KJFrameForAndroid下载地址:https://github.com/kymjs/KJFrameForAndroid

Activity继承链

使用你的Activity(Fragment)继承自KJActivity(KJFragment)即可。在通常的开发中,我们经常把数据初始化、findview、控件的属性设置等等的方法都写在一个onCreate()中,这样会造成onCreate方法过于臃肿,而使用KJFrame模块的基类Activity(Fragment)可以轻松解决这个问题。

  • 在基类中各个方法的调用顺序: java setRootView(); //用于调用setContent(); @BindView //setRootView执行后将会执行注解绑定 initDataFromThread();(执行在异步,用于做耗时操作) threadDataInited();(initDataFromThread() 执行完成后将会回调) initData(); //用于初始化数据 initWidget(); //用于设置控件内容 registerBroadcast(); //用于注册广播与上下文菜单

  • 注解式绑定控件并设置监听
    使用UILibrary,你可以只需要一行代码就完成控件的findview并设置点击事件,就像下面的示例,只需要添加@BindView注解就能实现了。 java @BindView(id = R.id.xxx, click = true); private Button btn;
    这样就相当于已经调用了
    java private Button btn; btn = findViewById(R.id.xxx); btn.setOnClickListener(this);
    当然,是否一定要设置点击事件是由你来决定,如果不设置,那么可以不写click=true这句话。

  • ViewInject功能与Toast优化
    每次在写Toast的时候都得要写上一长串代码,很麻烦。那么KJFrame很人性化的对Toast做了封装,你只需要调用
    java ViewInject.toast("提示文字"); 同时ViewInject还封装了常用的弹出式对话框
    java //弹出一个选择弹窗,同时具有重载方法, //可以自定义点击确定按钮的监听器以及弹窗的内容文字 getExitDialog(Context context); getDateDialog(String title, TextView textView)

  • 自由用法
    如果受项目限制,没办法继承KJFrame的基类,那么你仍旧可以使用注解式绑定与Toast优化功能,但是使用办法略有不同。
    如果不继承基类,在使用注解@BindView时需要在Activity的setContent()方法之后手动调用
    java AnnotateUtil.initBindView(this); 在Toast使用时由于没有继承框架基类,则需要手动传入Context对象
    java ViewInject.toast(this, "提示文字");