Android開發使用的常見第三方框架彙總
1、volley
專案地址 https://github.com/smanikandan14/Volley-demo
(1) JSON,影象等的非同步下載;
(2) 網路請求的排序(scheduling)
(3) 網路請求的優先順序處理
(4) 快取
(5) 多級別取消請求
(6) 和Activity和生命週期的聯動(Activity結束時同時取消所有網路請求)
2、android-async-http
專案地址:https://github.com/loopj/android-async-http
文件介紹:http://loopj.com/android-async-http/
(1) 在匿名回撥中處理請求結果
(2) 在UI執行緒外進行http請求
(3) 檔案斷點上傳
(4) 智慧重試
(5) 預設gzip壓縮
(6) 支援解析成Json格式
(7) 可將Cookies持久化到SharedPreferences
3、Afinal框架
專案地址:https://github.com/yangfuhai/afinal
主要有四大模組:
(1) 資料庫模組:android中的orm框架,使用了執行緒池對sqlite進行操作。
(2) 註解模組:android中的ioc框架,完全註解方式就可以進行UI繫結和事件繫結。無需findViewById和setClickListener等。
(3) 網路模組:通過httpclient進行封裝http資料請求,支援ajax方式載入,支援下載、上傳檔案功能。
(4) 圖片快取模組:通過FinalBitmap,imageview載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。
FinalBitmap可以配置執行緒載入執行緒數量,快取大小,快取路徑,載入顯示動畫等。FinalBitmap的記憶體管理使用lru演算法,
沒有使用弱引用(android2.3以後google已經不建議使用弱引用,android2.3後強行回收軟引用和弱引用,詳情檢視android官方文件),
更好的管理bitmap記憶體。FinalBitmap可以自定義下載器,用來擴充套件其他協議顯示網路圖片,比如ftp等。同時可以自定義bitmap顯示器,
在imageview顯示圖片的時候播放動畫等(預設是漸變動畫顯示)。
4、xUtils框架
專案地址:https://github.com/wyouflf/xUtils
主要有四大模組:
(1) 資料庫模組:android中的orm框架,一行程式碼就可以進行增刪改查;
支援事務,預設關閉;
可通過註解自定義表名,列名,外來鍵,唯一性約束,NOT NULL約束,CHECK約束等(需要混淆的時候請註解表名和列名);
支援繫結外來鍵,儲存實體時外來鍵關聯實體自動儲存或更新;
自動載入外來鍵關聯實體,支援延時載入;
支援鏈式表達查詢,更直觀的查詢語義,參考下面的介紹或sample中的例子。
(2) 註解模組:android中的ioc框架,完全註解方式就可以進行UI,資源和事件繫結;
新的事件繫結方式,使用混淆工具混淆後仍可正常工作;
目前支援常用的20種事件繫結,參見ViewCommonEventListener類和包com.lidroid.xutils.view.annotation.event。
(3) 網路模組:支援同步,非同步方式的請求;
支援大檔案上傳,上傳大檔案不會oom;
支援GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT請求;
下載支援301/302重定向,支援設定是否根據Content-Disposition重新命名下載的檔案;
返回文字內容的請求(預設只啟用了GET請求)支援快取,可設定預設過期時間和針對當前請求的過期時間。
(4) 圖片快取模組:載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象;
支援載入網路圖片和本地圖片;
記憶體管理使用lru演算法,更好的管理bitmap記憶體;
可配置執行緒載入執行緒數量,快取大小,快取路徑,載入顯示動畫等...
5、ThinkAndroid
專案地址:https://github.com/white-cat/ThinkAndroid
主要有以下模組:
(1) MVC模組:實現檢視與模型的分離。
(2) ioc模組:android中的ioc模組,完全註解方式就可以進行UI繫結、res中的資源的讀取、以及物件的初始化。
(3) 資料庫模組:android中的orm框架,使用了執行緒池對sqlite進行操作。
(4) http模組:通過httpclient進行封裝http資料請求,支援非同步及同步方式載入。
(5) 快取模組:通過簡單的配置及設計可以很好的實現快取,對快取可以隨意的配置
(6) 圖片快取模組:imageview載入圖片的時候無需考慮圖片載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。
(7) 配置器模組:可以對簡易的實現配對配置的操作,目前配置檔案可以支援Preference、Properties對配置進行存取。
(8) 日誌列印模組:可以較快的輕易的是實現日誌列印,支援日誌列印的擴充套件,目前支援對sdcard寫入本地列印、以及控制檯列印
(9) 下載器模組:可以簡單的實現多執行緒下載、後臺下載、斷點續傳、對下載進行控制、如開始、暫停、刪除等等。
(10) 網路狀態檢測模組:當網路狀態改變時,對其進行檢
6、LoonAndroid
專案地址:https://github.com/gdpancheng/LoonAndroid
主要有以下模組:
(1) 自動注入框架(只需要繼承框架內的application既可)
(2) 圖片載入框架(多重快取,自動回收,最大限度保證記憶體的安全性)
(3) 網路請求模組(繼承了基本上現在所有的http請求)
(4) eventbus(整合一個開源的框架)
(5) 驗證框架(整合開源框架)
(6) json解析(支援解析成集合或者物件)
(7) 資料庫(不知道是哪位寫的 忘記了)
(8) 多執行緒斷點下載(自動判斷是否支援多執行緒,判斷是否是重定向)
(9) 自動更新模組
(10) 一系列工具類
7、KJFrameForAndroid
專案地址:http://git.oschina.net/kymjs/KJFrameForAndroid#git-readme
github專案地址:
https://github.com/kymjs/KJFrameForAndroid
備用專案地址:
http://git.oschina.net/kymjs/KJFrameForAndroid
KJFrameForAndroid 又叫KJLibrary,是一個android的orm
和 ioc 框架。同時封裝了android中的Bitmap與Http操作的框架,使其更加簡單易用;
KJFrameForAndroid的設計思想是通過封裝Android原生SDK中複雜的複雜操作而達到簡化Android應用級開發,最終實現快速而又安全的開發APP。我們提倡用最少的程式碼,完成最多的操作,用最高的效率,完成最複雜的功能。
同時,KJFrameForAndroid是免費的、開源的、簡易的、遵循Apache Licence 2.0開源協議釋出的android應用開發框架,總共分為五大模 塊:UILibrary,UtilsLibrary,HttpLibrary,BitmapLibrary,DBLibrary。
8、AndroidAnnotations
xUtils是國內比較火的快速開發框架,但是它的註解機制不是太穩定而且註解可選也比較少,國外的一個框架主要專注於註解的開發,簡化Android程式碼編寫,它除了有依賴注入的特性以外,還整合了Ormlite,Spring-android中的REST模板。使用起來非常方便,大大提高了開發效率。
1.下載AndroidAnnotations:
git官網:https://github.com/excilys/androidannotations
專案中重要的兩個jar包分別是:androidannotations-api-3.0.1.jar和androidannotations-3.0.1.jar
2.新建一個android專案,然後將androidannotations-api-3.0.1.jar複製到libs目錄下,在專案的根目錄新建一個資料夾,命名為compile-libs,然後將androidannotations-3.0.1.jar複製到該目錄下
3.在你的工程上右鍵單擊,在彈出的選單中選擇"Properties",找到Java Compiler,確保Compiler compliance level設定為1.6,否則的話處理器將不起作用
4.然後設定專案屬性:右鍵->Properties->Java Compiler->Annotation Processing 在該頁面選中Enable project specific settings。
5.轉到Java Compiler 中的 Annotation Processing 下邊的 Factory Path,在此將androidannotations-3.0.1.jar新增到其中。
註解1:@ViewById 與findViewById功能相似,如果ViewById後沒有設定資源ID的話,就是自動查詢與變數名稱相同的id資源。
註解2:@Click 點選事件處理的註解。
註解3:@UiThread 後臺Ui執行緒的註解,省去了Handler等等。
註解4:@EActivity 提示Activity的註解,注意,該註解將Activity編譯成Activity_,注意,多一個下劃線“_”,因此在AndroidManifest.xml檔案中需要將其新增下滑線
註解5:@AfterViews 是指View類注入完畢之後執行的程式碼。
相關文章
- Python常見web框架彙總PythonWeb框架
- 開發框架彙總框架
- Java常見知識點彙總(⑦)——集合框架Java框架
- Android Studio 常見問題彙總Android
- 2016校招,Android開發,常見面試問題彙總Android面試
- Java Stream常見用法彙總,開發效率大幅提升Java
- 前端開發優化的一些常見方法彙總前端優化
- JavaScriptMobile開發框架彙總JavaScript框架
- Xlua常見API彙總API
- 開發常需要的好用API彙總API
- 四種常見NLP框架使用總結框架
- Redis常見問題彙總Redis
- Java 常見問題彙總Java
- Bootstrap常見問題彙總boot
- 常見埠表彙總(轉)
- CTF常見密碼彙總密碼
- 常見的網路協議彙總協議
- PbootCMS內頁打不開的常見情況彙總boot
- Java常見知識點彙總(⑨)——異常Java
- Java常見知識點彙總(⑩)——常見設計模式Java設計模式
- 前端常見跨域方案彙總前端跨域
- 代理IP常見問題彙總
- 常見網路協議彙總協議
- Redis Manager 常見問題彙總Redis
- 前端常見設計模式彙總前端設計模式
- SpringMvc常見問題彙總SpringMVC
- JuniperNetScreen常見問題彙總
- Hibernate常見知識彙總
- Android開發問題彙總Android
- 常見的MIME型別彙總(逐步收集)型別
- Java開發基礎常見面試題及答案彙總(實用乾貨!)Java面試題
- Java常見知識點彙總(⑳)——鎖Java
- Java常見知識點彙總(②)——StaticJava
- JavaScript常見面試題彙總(含答案)JavaScript面試題
- mybatis常見庫及問題彙總MyBatis
- Vue專案常見問題彙總Vue
- Java常見面試題及答案彙總Java面試題
- DataGridView常見用法和FAQ彙總View