XUtils使用
2016-06-26 16:31
162 查看
Android 最火的快速开发框架XUtils,包括了四大模块:
DbUtils模块:
· android中的orm框架,一行代码就可以进行增删改查;
· 支持事务,默认关闭;
· 可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名);
· 支持绑定外键,保存实体时外键关联实体自动保存或更新;
· 自动加载外键关联实体,支持延时加载;
· 支持链式表达查询,更直观的查询语义,参考下面的介绍或sample中的例子。
ViewUtils模块:
· android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
· 新的事件绑定方式,使用混淆工具混淆后仍可正常工作;
· 目前支持常用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
HttpUtils模块:
· 支持同步,异步方式的请求;
· 支持大文件上传,上传大文件不会oom;
· 支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求;
· 下载支持301/302重定向,支持设置是否根据Content-Disposition重命名下载的文件;
· 返回文本内容的请求(默认只启用了GET请求)支持缓存,可设置默认过期时间和针对当前请求的过期时间。
BitmapUtils模块:
· 加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;
· 支持加载网络图片和本地图片;
· 内存管理使用lru算法,更好的管理bitmap内存;
· 可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...
①我最常用的模块为ViewUtils模块,毕竟剩下的几个模块都有更好、更全面的开源框架来实现。
完全注解方式就可以进行UI绑定和事件绑定。
无需findViewById和setClickListener等。
②加入依赖
compile 'com.jiechic.library:xUtils:2.6.14'
③在Activity中ViewUtils.inject(this); //注入view和事件
在Fragment中ViewUtils.inject(this, view);
④使用
// xUtils的view注解要求必须提供id,以使代码混淆不受影响。@ViewInject(R.id.textView)TextView textView;
//@ViewInject(vale=R.id.textView, parentId=R.id.parentView)//TextView textView;
@ResInject(id = R.string.label, type = ResType.String)private String label;
// 取消了之前使用方法名绑定事件的方式,使用id绑定不受混淆影响// 支持绑定多个id @OnClick({R.id.id1, R.id.id2, R.id.id3})// or @OnClick(value={R.id.id1, R.id.id2, R.id.id3}, parentId={R.id.pid1, R.id.pid2, R.id.pid3})// 更多事件支持参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。@OnClick(R.id.test_button)public void testButtonClick(View v) { // 方法签名必须和接口中的要求一致
...}
DbUtils模块:
· android中的orm框架,一行代码就可以进行增删改查;
· 支持事务,默认关闭;
· 可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名);
· 支持绑定外键,保存实体时外键关联实体自动保存或更新;
· 自动加载外键关联实体,支持延时加载;
· 支持链式表达查询,更直观的查询语义,参考下面的介绍或sample中的例子。
ViewUtils模块:
· android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
· 新的事件绑定方式,使用混淆工具混淆后仍可正常工作;
· 目前支持常用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
HttpUtils模块:
· 支持同步,异步方式的请求;
· 支持大文件上传,上传大文件不会oom;
· 支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求;
· 下载支持301/302重定向,支持设置是否根据Content-Disposition重命名下载的文件;
· 返回文本内容的请求(默认只启用了GET请求)支持缓存,可设置默认过期时间和针对当前请求的过期时间。
BitmapUtils模块:
· 加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;
· 支持加载网络图片和本地图片;
· 内存管理使用lru算法,更好的管理bitmap内存;
· 可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...
①我最常用的模块为ViewUtils模块,毕竟剩下的几个模块都有更好、更全面的开源框架来实现。
完全注解方式就可以进行UI绑定和事件绑定。
无需findViewById和setClickListener等。
②加入依赖
compile 'com.jiechic.library:xUtils:2.6.14'
③在Activity中ViewUtils.inject(this); //注入view和事件
在Fragment中ViewUtils.inject(this, view);
④使用
// xUtils的view注解要求必须提供id,以使代码混淆不受影响。@ViewInject(R.id.textView)TextView textView;
//@ViewInject(vale=R.id.textView, parentId=R.id.parentView)//TextView textView;
@ResInject(id = R.string.label, type = ResType.String)private String label;
// 取消了之前使用方法名绑定事件的方式,使用id绑定不受混淆影响// 支持绑定多个id @OnClick({R.id.id1, R.id.id2, R.id.id3})// or @OnClick(value={R.id.id1, R.id.id2, R.id.id3}, parentId={R.id.pid1, R.id.pid2, R.id.pid3})// 更多事件支持参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。@OnClick(R.id.test_button)public void testButtonClick(View v) { // 方法签名必须和接口中的要求一致
...}
相关文章推荐
- java中线程池
- “破锣摇滚”乐队(codevs 1444)
- Bluebird-Core API (三)
- jquery 基础
- 【DAY21】JDBC 与 MySQL 的学习笔记
- Android: 动画实现雷达效果
- Linux内核模块编译
- 写出好的 commit message
- 关于java类加载器理解及畅谈
- Leetcode-reverse-integer
- 4. gpio 库
- Mit os Lab 2. Memory Management
- Python 小练习 倒序切片
- BZOJ 2208: [Jsoi2010]连通数
- 二叉树的遍历。。。
- 面向对象6
- 【阶段总结】这两个月的收获
- 学习 Promise (结合 Rxjava)
- Leetcode-maximum-depth-of-binary-tree
- URL和URI的区别