天天看點

Android Xutils架構使用詳解

xUtils簡介

xUtils 包含了很多實用的Android工具。

xUtils 源于Afinal架構,對Afinal進行了大量重構,使得xUtils支援大檔案上傳,更全面的http請求協定支援,擁有更加靈活的ORM,更多的事件注解支援且不受混淆影響…

xUitls最低相容android 2.2 (api level 8)

目前xUtils主要有四大子產品:

DbUtils子產品:

android中的orm架構,一行代碼就可以進行增删改查;

支援事務,預設關閉;

可通過注解自定義表名,列名,外鍵,唯一性限制,NOT NULL限制,CHECK限制等(需要混淆的時候請注解表名和列名);

支援綁定外鍵,儲存實體時外鍵關聯實體自動儲存或更新;

自動加載外鍵關聯實體,支援延時加載;

支援鍊式表達查詢,更直覺的查詢語義,參考下面的介紹或sample中的例子。

Android Xutils架構使用之Dbutils

ViewUtils子產品:

android中的ioc架構,完全注解方式就可以進行UI綁定和事件綁定;

新的事件綁定方式,使用混淆工具混淆後仍可正常工作;

目前支援常用的11種事件綁定,參見ViewCommonEventListener類和包com.lidroid.xutils.view.annotation.event。

Android Xutils架構使用之ViewUtils

HttpUtils子產品:

支援同步,異步方式的請求;

支援大檔案上傳,上傳大檔案不會oom;

支援GET,POST,PUT,MOVE,COPY,DELETE,HEAD請求;

下載下傳支援301/302重定向,支援設定是否根據Content-Disposition重命名下載下傳的檔案;

傳回文本内容的GET請求支援緩存,可設定預設過期時間和針對目前請求的過期時間。

Android Xutils架構使用之HttpUtils

BitmapUtils子產品:

加載bitmap的時候無需考慮bitmap加載過程中出現的oom和android容器快速滑動時候出現的圖檔錯位等現象;

支援加載網絡圖檔和本地圖檔;

記憶體管理使用lru算法,更好的管理bitmap記憶體;

可配置線程加載線程數量,緩存大小,緩存路徑,加載顯示動畫等…

Android Xutils架構使用之BitmapUtils