天天看點

Android Xutils 架構

android

目錄(?)[+]

xutils 包含了很多實用的android工具。

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

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

dbutils子產品:

android中的orm架構,一行代碼就可以進行增删改查; 支援事務,預設關閉; 可通過注解自定義表名,列名,外鍵,唯一性限制,not null限制,check限制等(需要混淆的時候請注解表名和列名); 支援綁定外鍵,儲存實體時外鍵關聯實體自動儲存或更新; 自動加載外鍵關聯實體,支援延時加載; 支援鍊式表達查詢,更直覺的查詢語義,參考下面的介紹或sample中的例子。

viewutils子產品:

android中的ioc架構,完全注解方式就可以進行ui綁定和事件綁定; 新的事件綁定方式,使用混淆工具混淆後仍可正常工作; 目前支援常用的11種事件綁定,參見viewcommoneventlistener類和包com.lidroid.xutils.view.annotation.event。

httputils子產品:

支援同步,異步方式的請求; 支援大檔案上傳,上傳大檔案不會oom; 支援get,post,put,move,copy,delete,head請求; 下載下傳支援301/302重定向,支援設定是否根據content-disposition重命名下載下傳的檔案; 傳回文本内容的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");

完全注解方式就可以進行ui綁定和事件綁定。

無需findviewbyid和setclicklistener等。

支援斷點續傳,随時停止下載下傳任務,開始任務

繼續閱讀