Android IOC注解库EasyUI

时间:2023-03-09 19:20:58
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和图片加载所消耗的性能基本可以忽略了。