安卓 框架

韓夢飛沙  韓亞飛  313134555@qq.com  yue31313  han_meng_fei_sha

安卓 框架 html

========java


android-framework

 

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) 一系列工具類

=======

圖片加載:fresco
事件總線:eventbus
網絡請求:retrofit rxjava
數據存儲:
數據解析:Gson,我知道它速度不快,可是太好用了
圖片處理: PhotoView subsampling-scale-image-view PhotoCropper
簡單緩存: ASimpleCache
二維碼: ZXing
新的百分比支持:
profile工具:leakcanary

=====
圖片加載,UIL或者Picasso;
數據庫,ormLite或者greenDao;
網絡層,apcahe的http-common或者square的okhttp;
聊天,XMPP;
JSON解析,fastJson;
動畫,NineOldAndroids。
====

圖片加載Picasso

依賴注入Dagger

json解析Gson

網絡請求Volley

組件通訊otto
===
網絡請求 Retrofit+RxJava
框架搭建的簡單教程 RxJava 與 Retrofit 結合的最佳實踐
GitHub - tough1985/RxjavaRetrofitDemo: A demo show how to use Retrofit with Rxjava
依賴注入 dagger butterknife
dagger GitHub - square/dagger: A fast dependency injector for Android and Java.
butterknife GitHub - JakeWharton/butterknife: Bind Android views and callbacks to fields and methods.
UI MaterialDesign
MaterialDesign 中文介紹及官方文檔 Material Design中文版_Material Design中文教程_Material Design開發中文手冊[PDF]下載
控件使用 Android文集 | 陽春麪的博客
Json解析 gson
GitHub - google/gson: A Java serialization/deserialization library that can convert Java Objects into JSON and back.
圖片加載 picasso fresco
picasso簡單教程 picasso-強大的Android圖片下載緩存庫
GitHub - square/picasso: A powerful image downloading and caching library for Android
fresco 簡單教程 引入Fresco | Fresco
GitHub - facebook/fresco: An Android library for managing images and the memory they use.
視頻 ijkplayer
bilibili的開源項目 基於ffplay的播放器
==========

數據庫:OrmLite

網絡層:LiteHttp

圖片:BitMap集成,適用於圖片加載,不會發生OOM

解析:FastJson,Gson

雙向驗證:license

======
butterknife,autolayout
======
相關文章
相關標籤/搜索