Android IOC注解库EasyUI

EasyUI介绍

1.使用反射机制和注解实现类似于butterknife的IOC框架
2.快速的findViewById和OnClick
3.扩展了click时无网络监测
4.扩展了快速点击监测

使用方法

1.引用

compile 'cn.cyq.android:easyuilibrary:1.1.0'

2.初始化(可选)

该步骤主要配置无网络时Toast提示文字内容和判定快读点击时间间隔
Toast默认:无网络,请检查网络设置,快速点击默认1000ms

public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        EasyUI.init(500, "亲,你的网络不太给力呦!");
    }
}

3.使用(activity fragment 自定义view)

  • Activity用法
public class MainActivity extends AppCompatActivity {
    @ViewById(R.id.tv_test)
    private TextView mTvTest;
    @ViewById(R.id.btn_test)
    private Button mBtnTest;
    @ViewById(R.id.img_test)
    private ImageView mImgTest;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        EasyUI.bind(this);
    }

    @OnClick({R.id.btn_test, R.id.img_test})
    @CheckNet //无网络则不执行onclick
    @QuickClick //1秒内点击不执行onclick
    public void onclick(View view) {
    }
}
  • fragment使用
public class BlankFragment extends Fragment {
    View view;
    @ViewById(R.id.tv_fragment)
    private TextView mTv;
    @ViewById(R.id.btn_fragment)
    private Button mBtn;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment_blank, container, false);
        EasyUI.bind(view, this);
        return view;
    }

    @OnClick(R.id.btn_fragment)
    public void onClick(View view) {
    }
}

  1. 关于插件快速生成代码问题,本人不会开发android插件,学习成本有点高,也基本用不到自己开发插件,懒的去搞了,有兴趣的兄dei可以玩玩。

  2. 关于反射性能问题,其实没必要纠结,相对于线程,handler和图片加载所消耗的性能基本可以忽略了。

原文地址:https://www.cnblogs.com/chenyangqi/p/9396849.html