Android快速开发工具库xUtils 1.0发布,针对混淆优化,orm,view注解......

原创
2013/08/23 16:27
阅读数 2.1K

xUtils简介

  • xUtils 包含了很多实用的android工具,让你的开发过程更高效。
  • xUtils 源于Afinal框架,对Afinal进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持,拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...

目前xUtils主要有四大模块:

  • DbUtils模块:

    • android中的orm框架,一行代码就可以进行增删改查;
    • 支持事务,默认关闭;
    • 可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名);
    • 支持绑定外键,保存实体时外键关联实体自动保存或更新;
    • 自动加载外键关联实体,支持延时加载;
    • 支持链式表达查询,更直观的查询语义,参考下面的介绍或Demo中的例子。
  • ViewUtils模块:

    • android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定;
    • 新的事件绑定方式,使用混淆工具混淆后仍可正常工作;
    • 目前支持常用的11种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
  • HttpUtils模块:

    • 支持同步,异步方式的请求;
    • 支持大文件上传,上传大文件不会oom;
    • 支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD请求;
    • 下载支持301/302重定向;
    • 返回文本内容的GET请求支持缓存,可设置默认过期时间和针对当前请求的过期时间。
  • BitmapUtils模块:

    • 加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;
    • 支持加载网络图片和本地图片;
    • 内存管理使用lru算法,更好的管理bitmap内存;
    • 可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...




混淆时注意事项:

  • 不要混淆xUtils中的注解类型,添加混淆配置:-keep class * extends java.lang.annotation.Annotation { *; }
  • 对使用DbUtils模块持久化的实体类不要混淆,或者注解所有表和列名称@Table(name="xxx"),@Id(column="xxx"),@Column(column="xxx"),@Foreign(column="xxx",foreign="xxx");



源码和更多简介:https://github.com/wyouflf/xUtils

另外感谢众多网友热心的反馈,使得xUitls越来越优秀。



展开阅读全文
打赏
0
21 收藏
分享
加载中
博主有开QQ群讨论吗?
2014/02/09 22:06
回复
举报

引用来自“wyouflf”的评论

引用来自“IceHermes”的评论

支持了,请问数据库的id字段能自己设置么?比如设置一条数据的id为10之类的

另外还有SaveOrUpdate,存在id赋值时执行update,id为0或空时执行save,参考REPLACE语句就知道它和Replace的不同之处了。

看到你写的afinal相关的博客了,如果觉得xUitls好用,希望也能为xUtils贡献一点。

好的,谢谢了~以后会支持xUtils 的,xUtils是个很方便的工具库!~作者辛苦了!
2013/09/12 18:25
回复
举报
wyouflf博主

引用来自“IceHermes”的评论

支持了,请问数据库的id字段能自己设置么?比如设置一条数据的id为10之类的

另外还有SaveOrUpdate,存在id赋值时执行update,id为0或空时执行save,参考REPLACE语句就知道它和Replace的不同之处了。

看到你写的afinal相关的博客了,如果觉得xUitls好用,希望也能为xUtils贡献一点。
2013/08/30 10:38
回复
举报
wyouflf博主

引用来自“IceHermes”的评论

支持了,请问数据库的id字段能自己设置么?比如设置一条数据的id为10之类的

xUtils的Save方法不支持未自增Id赋值,但是Replace方法可以,它使用sqlite的REPLACE语句,存在就更新,不存在就创建新的记录。
2013/08/30 10:32
回复
举报
支持了,请问数据库的id字段能自己设置么?比如设置一条数据的id为10之类的
2013/08/30 09:58
回复
举报
更多评论
打赏
5 评论
21 收藏
0
分享
返回顶部
顶部