安卓 框架 html
========java
1. 緩存android
名稱 描述git
DiskLruCache Java實現基於LRU的磁盤緩存github
2.圖片加載ajax
名稱 描述算法
Android Universal Image Loader 一個強大的加載,緩存,展現圖片的庫sql
Picasso 一個強大的圖片下載與緩存的庫數據庫
Fresco 一個用於管理圖像和他們使用的內存的庫編程
Glide一個圖片加載和緩存的庫
3. 圖片處理
名稱 描述
Picasso-transformations 一個爲Picasso提供多種圖片變換的庫
Glide-transformations 一個爲Glide提供多種圖片變換的庫
Android-gpuimage 基於OpenGL的Android過濾器
4. 網絡請求
名稱 描述
Android Async HTTP Android異步HTTP庫
AndroidAsync 異步Socket,HTTP(客戶端+服務器),WebSocket,和socket.io庫。基於NIO而不是線程。
OkHttp 一個Http與Http/2的客戶端
Retrofit 類型安全的Http客戶端
Volley Google推出的Android異步網絡請求框架和圖片加載框架
5. 網絡解析
名稱 描述
Gson 一個Java序列化/反序列化庫,能夠將JSON和java對象互相轉換
Jackson 能夠輕鬆地將Java對象轉換成json對象和xml文檔,一樣也能夠將json、xml轉 換成Java對象
Fastjson Java上一個快速的JSON解析器/生成器
HtmlPaser 一種用來解析單個獨立html或嵌套html的方式
Jsoup 一個以最好的DOM,CSS和jQuery解析html的庫
6. 數據庫
名稱 描述
OrmLite JDBC和Android的輕量級ORM java包
Sugar 用超級簡單的方法處理Android數據庫
GreenDAO 一種輕快地將對象映射到SQLite數據庫的ORM解決方案
ActiveAndroid 以活動記錄方式爲Android SQLite提供持久化
SQLBrite SQLiteOpenHelper 和ContentResolver的輕量級包裝
Realm 移動數據庫:一個SQLite和ORM的替換品
7. 依賴注入
名稱 描述
ButterKnife 將Android視圖和回調方法綁定到字段和方法上
Dagger2 一個Android和java快速依賴注射器。
AndroidAnotations 快速安卓開發。易於維護
RoboGuice Android平臺的Google Guice
8. 圖表
名稱 描述
WilliamChart 建立圖表的Android庫
HelloCharts 兼容到API8的Android圖表庫
MPAndroidChart 一個強大的Android圖表視圖/圖形庫
9. 後臺處理
名稱 描述
Tape 一個輕快的,事務性的,基於文件的FIFO的庫
Android Priority Job Queue 一個專門爲Android輕鬆調度任務的工做隊列
10. 事件總線
名稱 描述
EventBus 安卓優化的事件總線,簡化了活動、片斷、線程、服務等的通訊
Otto 一個基於Guava的加強的事件總線
11. 響應式編程
名稱 描述
RxJava JVM上的響應式擴展
RxJavaJoins 爲RxJava提供Joins操做
RxAndroid Android上的響應式擴展,在RxJava基礎上添加了Android線程調度
RxBinding 提供用RxJava綁定Android UI的API
Agera Android上的響應式編程
12. Log框架
名稱 描述
Logger 簡單,漂亮,強大的Android日誌工具
Hugo 在調試版本上註解的觸發方法進行日誌記錄
Timber 一個小的,可擴展的日誌工具
13. 測試框架
名稱 描述
Mockito Java編寫的Mocking單元測試框架
Robotium Android UI 測試
Robolectric Android單元測試框架
Android自帶不少測試工具:JUnit,Monkeyrunner,UiAutomator,Espresso等
14. 調試框架
名稱 描述
Stetho 調試Android應用的橋樑,使得能夠利用Chrome開發者工具進行調試
15. 性能優化
名稱 描述
LeakCanary 內存泄漏檢測工具
ACRA Android應用程序崩潰報告
========
一、volley
項目地址 https://github.com/smanikandan14/Volley-demo
(1) JSON,圖像等的異步下載;
(2) 網絡請求的排序(scheduling)
(3) 網絡請求的優先級處理
(4) 緩存
(5) 多級別取消請求
(6) 和Activity和生命週期的聯動(Activity結束時同時取消全部網絡請求)
二、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
三、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顯示圖片的時候播放動畫等(默認是漸變更畫顯示)。
四、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內存;
可配置線程加載線程數量,緩存大小,緩存路徑,加載顯示動畫等...
五、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) 網絡狀態檢測模塊:當網絡狀態改變時,對其進行檢
六、LoonAndroid
項目地址:https://github.com/gdpancheng/LoonAndroid
主要有如下模塊:
(1) 自動注入框架(只須要繼承框架內的application既可)
(2) 圖片加載框架(多重緩存,自動回收,最大限度保證內存的安全性)
(3) 網絡請求模塊(繼承了基本上如今全部的http請求)
(4) eventbus(集成一個開源的框架)
(5) 驗證框架(集成開源框架)
(6) json解析(支持解析成集合或者對象)
(7) 數據庫(不知道是哪位寫的 忘記了)
(8) 多線程斷點下載(自動判斷是否支持多線程,判斷是不是重定向)
(9) 自動更新模塊
(10) 一系列工具類
=======
圖片加載Picasso
依賴注入Dagger
json解析Gson
網絡請求Volley
組件通訊otto數據庫:OrmLite
網絡層:LiteHttp
圖片:BitMap集成,適用於圖片加載,不會發生OOM
解析:FastJson,Gson
雙向驗證:license