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) {
}
}
关于插件快速生成代码问题,本人不会开发android插件,学习成本有点高,也基本用不到自己开发插件,懒的去搞了,有兴趣的兄dei可以玩玩。
关于反射性能问题,其实没必要纠结,相对于线程,handler和图片加载所消耗的性能基本可以忽略了。
Android IOC注解库EasyUI的更多相关文章
- Android 第三方开源库收集整理(转)
原文地址:http://blog.csdn.net/caoyouxing/article/details/42418591 Android开源库 自己一直很喜欢Android开发,就如博客签名一样, ...
- Android进阶笔记02:Android 网络请求库的比较及实战(二)
一.Volley 既然在android2.2之后不建议使用HttpClient,那么有没有一个库是android2.2及以下版本使用HttpClient,而android2.3及以上版本 ...
- Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例
Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例 继上篇json解析,我用了原生的json解析,但是在有些情况下我们不得不承认,一些优秀的json解析框架确实十分的 ...
- dlmalloc(Android bionic C库的malloc实现)简介
欢迎转载opendevkit文章, 文章原始地址: http://www.opendevkit.com/?e=56 Dlmalloc是目前一个十分流行的内存分配器,其由Doug Lea从1987年开始 ...
- Android开源图表库介绍
XCL-Charts XCL-Charts V1.8 Android开源图表库(XCL-Charts is a free charting library for Android platfo ...
- Android的底层库libutils介绍
第一部分 libutils概述 libutils是Android的底层库,这个库以C++实现,它提供的API也是C++的.Android的层次的C语言程序和库,大都基于libutils开发. libu ...
- Android JSON 解析库的使用 - Gson 和 fast-json
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族 ...
- Android Studio创建库项目及引用
Android Studio创建库项目其实创建的是在主项目下创建Module模块,这个Module模块创建的时候选择库项目模式. 为什么要这样处理呢?因为在Android Studio中一个WorkS ...
- [置顶] android调用第三方库——第四篇——调用多个第三方库
0:前言: 在前面三篇中我们介绍了android调用第三方库的形式,在这一篇中我们介绍调用多个第三方库的Android.mk的写法,由于其他三篇介绍的很详细,这里只给出Android.mk的内容. [ ...
随机推荐
- hive中解决中文乱码
一.个人初始开发环境的基本情况以及Hive元数据库说明 ①hive的元数据库改成了mysql(安装完mysql之后也没有进行其它别的设置) ②hive-site.xml中设置元数据库对应的配置为 j ...
- Install vsftpd on centos
安装vsftpd程序. sudo yum -y install vsftpd 启动ftp服务. sudo service vsftp start 添加ftp用户,并设置密码. sudo useradd ...
- 【JAVA】判断当前日期是否在时间点内
public static boolean isInDate(Date date, String strDateBegin, String strDateEnd) { SimpleDateFormat ...
- javascript 获取当前浏览器窗口宽高
获取当前浏览器窗口宽度:document.documentElement.clientWidth;获取当前浏览器窗口高度:document.documentElement.clientHeight; ...
- SSM整合(1): spring 与 springmvc 整合
久没有写博客了, 今年事情太多了, 也没了心思. 去深圳出差, 更重要的结婚的事情, 一茬接一茬. 好在最近闲暇一些, 就想记录一些曾经困扰过我的问题(现在用spring boot真是太方便了, 很 ...
- [深入Maven源代码]maven绑定命令行参数到具体插件
maven的插件 我们知道Maven具体构建动作都是由插件执行的,maven本身只是提供一个框架,这样就提供了高度可定制化的功能,我们用maven命令执行比如mvn clean package这样的命 ...
- gson和fastjson
实体类转string的时候gson会对 & 进行url编码; fastjson不会
- C#数据仓储类
https://ninesky.codeplex.com/SourceControl/latest /*============================== 版本:v0.1 创建:2016.2 ...
- Spring-IOC注解
注解主要的目的就是实现零XML配置.一:自动扫描装配Bean. spring为我们引入了组件自动扫描机制,它可以在类路径底下寻找标注了@Component.@Service.@Controller.@ ...
- java运行时异常与一般异常有何异同?
转自: http://blog.csdn.net/rainminism/article/details/51208572 Throwable是所有Java程序中错误处理的父类,有两种资类:Error和 ...