【威哥說】搞Android開發(fā),不使用工具怎么行呢粥喜?今天給大家推薦這3款工具凸主,是目前Android開發(fā)最強大的集成框架,拿來直接就可以開發(fā)app额湘,無數(shù)的線上應用使用了這些框架卿吐,xUtils也是很多公司的首選。
【小道消息】威哥要直播锋华?真的假的嗡官?在哪里?什么時候供置?想知道答案谨湘,請看【鏈接】“威哥要直播啦,裸看真男人”
你還可以關注:
【正文】
1芥丧、Afinal框架
項目地址:https://github.com/yangfuhai/afinal
主要有四大模塊:
(1) 數(shù)據(jù)庫模塊:android中的orm框架紧阔,使用了線程池對sqlite進行操作。
(2) 注解模塊:android中的ioc框架续担,完全注解方式就可以進行UI綁定和事件綁定擅耽。無需findViewById和setClickListener等。
(3) 網(wǎng)絡模塊:通過httpclient進行封裝http數(shù)據(jù)請求物遇,支持ajax方式加載乖仇,支持下載、上傳文件功能询兴。
(4) 圖片緩存模塊:通過FinalBitmap乃沙,imageview加載bitmap的時候無需考慮bitmap加載過程中出現(xiàn)的oom和android容器快速滑動時候出現(xiàn)的圖片錯位等現(xiàn)象。
FinalBitmap可以配置線程加載線程數(shù)量诗舰,緩存大小警儒,緩存路徑,加載顯示動畫等眶根。FinalBitmap的內(nèi)存管理使用lru算法蜀铲,沒有使用弱引用(android2.3以后google已經(jīng)不建議使用弱引用,android2.3后強行回收軟引用和弱引用属百,詳情查看android官方文檔)记劝,更好的管理bitmap內(nèi)存。FinalBitmap可以自定義下載器族扰,用來擴展其他協(xié)議顯示網(wǎng)絡圖片厌丑,比如ftp等。同時可以自定義bitmap顯示器渔呵,在imageview顯示圖片的時候播放動畫等(默認是漸變動畫顯示)怒竿。
2、xUtils框架
項目地址:https://github.com/wyouflf/xUtils3
主要有四大模塊:
(1) 數(shù)據(jù)庫模塊:android中的orm框架厘肮,一行代碼就可以進行增刪改查愧口;
支持事務,默認關閉类茂;
可通過注解自定義表名耍属,列名,外鍵巩检,唯一性約束厚骗,NOT NULL約束,CHECK約束等(需要混淆的時候請注解表名和列名)兢哭;
支持綁定外鍵领舰,保存實體時外鍵關聯(lián)實體自動保存或更新;
自動加載外鍵關聯(lián)實體,支持延時加載冲秽;
支持鏈式表達查詢舍咖,更直觀的查詢語義,參考下面的介紹或sample中的例子锉桑。
(2) 注解模塊:android中的ioc框架排霉,完全注解方式就可以進行UI,資源和事件綁定民轴;
新的事件綁定方式攻柠,使用混淆工具混淆后仍可正常工作;
目前支持常用的20種事件綁定后裸,參見ViewCommonEventListener類和包com.lidroid.xutils.view.annotation.event瑰钮。
(3) 網(wǎng)絡模塊:支持同步,異步方式的請求微驶;
支持大文件上傳浪谴,上傳大文件不會oom;
支持GET祈搜,POST较店,PUT,MOVE容燕,COPY梁呈,DELETE,HEAD蘸秘,OPTIONS官卡,TRACE,CONNECT請求醋虏;
下載支持301/302重定向寻咒,支持設置是否根據(jù)Content-Disposition重命名下載的文件;
返回文本內(nèi)容的請求(默認只啟用了GET請求)支持緩存颈嚼,可設置默認過期時間和針對當前請求的過期時間毛秘。
(4) 圖片緩存模塊:加載bitmap的時候無需考慮bitmap加載過程中出現(xiàn)的oom和android容器快速滑動時候出現(xiàn)的圖片錯位等現(xiàn)象;
支持加載網(wǎng)絡圖片和本地圖片阻课;
內(nèi)存管理使用lru算法叫挟,更好的管理bitmap內(nèi)存;
可配置線程加載線程數(shù)量限煞,緩存大小抹恳,緩存路徑,加載顯示動畫等.
3署驻、LoonAndroid
項目地址:https://github.com/gdpancheng/LoonAndroid3
主要有以下模塊:
(1) 自動注入框架(只需要繼承框架內(nèi)的application既可)
(2) 圖片加載框架(多重緩存奋献,自動回收健霹,最大限度保證內(nèi)存的安全性)
(3) 網(wǎng)絡請求模塊(繼承了基本上現(xiàn)在所有的http請求)
(4) eventbus(集成一個開源的框架)
(5) 驗證框架(集成開源框架)
(6) json解析(支持解析成集合或者對象)
(7) 數(shù)據(jù)庫(不知道是哪位寫的 忘記了)
(8) 多線程斷點下載(自動判斷是否支持多線程,判斷是否是重定向)
(9) 自動更新模塊
(10) 一系列工具類