zoukankan      html  css  js  c++  java
  • 使用框架帮助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, "提示文字");
  • 相关阅读:
    接口性能测试方案
    如何选择自动化测试框架
    一维和二维前缀和
    高精度 加减乘除
    归并排序 快速排序
    链表
    二分查找
    表达式求值
    c++ const问题小记
    虚继承总结
  • 原文地址:https://www.cnblogs.com/android-blogs/p/4843424.html
Copyright © 2011-2022 走看看