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的内容. [ ...
随机推荐
- nc命令简介
nc介绍 ncat/nc 既是一个端口扫描工具,也是一款安全工具,还能是一款监测工具,甚至可以做为一个简单的 TCP 代理. 在大多数 Debian 发行版中,nc 是默认可用的,它会在安装系统的过程 ...
- 如何查找SHELL的进程号并杀死
一.shell查找进程并杀死 #!/bin/sh tomcat_id=`ps -ef | grep tomcat | grep -v "grep" | awk '{print $2 ...
- springboot-31-springboot静态注入
springboot中 使用 @Autowired 注入时, 是可以为静态变量进行注入的 package com.iwhere.footmark.tools; import org.springfra ...
- C语言版 Hello World
C语言的Hello World 程序, 需要引入 <stdio.h> 头文件,输出使用 printf()方法: #include <stdio.h> int main() { ...
- PowerBuilder编程新思维2:嵌入(Thread多线程)
PowerBuilder编程新思维2:嵌入(Thread多线程) 在PB中使用多线程,在网上有大量的文章介绍.不过深入研究并试着给出更易用的模型的,目前还只有"路人甲cw"的一篇& ...
- 读jQuery源码释疑笔记
本释疑笔记是针对自己在看源码的过程中遇到的一些问题的解答,对大众可能不具有参考性,不过可以看看有没有你也不懂得地方,相互学习,相互进步. 1.each的用法 之前对each的用法一直迷迷糊糊,这次终 ...
- 求XF+闭包(第十一届河南省省赛真题)
题目描述 如何设计一个好的数据库不仅仅是一个理论研究问题,也是一个实际应用问题.在关系数据库中不满足规范化理论的数据库设计会存在冗余.插入异常.删除异常等现象. 设R(U)是一个关系模式,U={ A1 ...
- GCD之Group
1.问题的提出 在上面的GCD之全局.主线程中介绍了dispatch_get_global_queue.dispatch_get_main_queue的用法,可以看到最后执行的时间在10s 左右,在上 ...
- C# ABP 允许跨域请求
备注:无论有没有安装 apb zero模块,都可以使用本文的跨域 首先配置Web Api: 1. 在Web API项目下,安装包 Install-Package Microsoft.AspNet.We ...
- 虚方法virtual详解(转载)
从C#的程序编译的角度来看,它和其它一般的函数有什么区别呢?一般函数在编译时就静态地编译到了执行文件中,其相对地址在程序运行期间是不发生变化的,也就是写死了的!而虚函数在编译期间是不被静态编译的,它的 ...