Android常見開源解決方案

原文:http://m.pstatp.com/group/6348269082899497218/?iid=6036708044&app=news_article&tt_from=mobile_qq&utm_source=mobile_qq&utm_medium=toutiao_android&utm_campaign=client_sharehtml

Android常見開源解決方案

(一)系統框架java

1.1 網絡請求android

名稱 描述
Android Async HTTP Android異步HTTP庫
AndroidAsync 異步Socket,HTTP(客戶端+服務器),WebSocket,和socket.io庫。基於NIO而不是線程。
OkHttp 一個Http與Http/2的客戶端
Retrofit 類型安全的Http客戶端
Volley Google推出的Android異步網絡請求框架和圖片加載框架

1.2 網絡解析數據庫

1.2.1 JSON解析編程

名稱 描述
Gson 一個Java序列化/反序列化庫,能夠將JSON和java對象互相轉換
Jackson Jackson能夠輕鬆地將Java對象轉換成json對象和xml文檔,一樣也能夠將json、xml轉換成Java對象
Fastjson Java上一個快速的JSON解析器/生成器

1.2.2 HTML解析json

名稱 描述
HtmlPaser 一種用來解析單個獨立html或嵌套html的方式
Jsoup 一個以最好的DOM,CSS和jQuery解析html的庫

1.3 圖片加載緩存

名稱 描述
Android Universal Image Loader 一個強大的加載,緩存,展現圖片的庫
Picasso 一個強大的圖片下載與緩存的庫
Fresco 一個用於管理圖像和他們使用的內存的庫
Glide 一個圖片加載和緩存的庫

1.4 圖片處理安全

名稱 描述
Picasso-transformations 一個爲Picasso提供多種圖片變換的庫
Glide-transformations 一個爲Glide提供多種圖片變換的庫
Android-gpuimage 基於OpenGL的Android過濾器

1.5 圖表處理性能優化

名稱 描述
WilliamChart 建立圖表的Android庫
HelloCharts 兼容到API8的Android圖表庫
MPAndroidChart 一個強大的Android圖表視圖/圖形庫

1.6 後臺處理服務器

名稱 描述
Tape 一個輕快的,事務性的,基於文件的FIFO的庫
Android Priority Job Queue 一個專門爲Android輕鬆調度任務的工做隊列

1.7 響應式編程

名稱 描述
RxJava JVM上的響應式擴展
RxJavaJoins 爲RxJava提供Joins操做
RxAndroid Android上的響應式擴展,在RxJava基礎上添加了Android線程調度
RxBinding 提供用RxJava綁定Android UI的API
Agera Android上的響應式編程

1.8 事件總線

名稱 描述
EventBus 安卓優化的事件總線,簡化了活動、片斷、線程、服務等的通訊
OTTO 一個基於Guava的加強的事件總線

1.9 緩存

名稱 描述
DiskLruCache Java實現基於LRU的磁盤緩存

1.10 數據庫

名稱 描述
OrmLite JDBC和Android的輕量級ORM java包
Sugar 用超級簡單的方法處理Android數據庫
GreenDAO 一種輕快地將對象映射到SQLite數據庫的ORM解決方案
ActiveAndroid 以活動記錄方式爲Android SQLite提供持久化
SQLBrite SQLiteOpenHelper 和ContentResolver的輕量級包裝
Realm 移動數據庫,一個SQLite和ORM的替換品

1.11 依賴注入

名稱 描述
ButterKnife 將Android視圖和回調方法綁定到字段和方法上
Dagger2 一個Android和java快速依賴注射器。
AndroidAnotations 快速安卓開發。易於維護
RoboGuice Android平臺的Google Guice

1.12 Log框架

名稱 描述
Logger 簡單,漂亮,強大的Android日誌工具
Hugo 在調試版本上註解的觸發方法進行日誌記錄
Timber 一個小的,可擴展的日誌工具

1.13 測試框架

名稱 描述
Mockito Java編寫的Mocking單元測試框架
Robotium Android UI 測試
Robolectric Android單元測試框架
Android自帶不少測試工具 JUnit,Monkeyrunner,UiAutomator,Espresso等

1.14 調試框架

名稱 描述
Stetho 調試Android應用的橋樑,使得能夠利用Chrome開發者工具進行調試

1.15 性能優化

名稱 描述
LeakCanary 內存泄漏檢測工具
ACRA Android應用程序崩潰報告

(二)控件庫

2.1 下拉刷新、上拉加載

名稱 說明
Android PullToRefresh 最經典、最多人用的下拉刷新、加載更多。
Android Ultra Pull To Refresh 很是方便自定義的下拉刷新框架,繼承於ViewGroup能夠包含任何View,使用起來很是簡單,若是想要自定義樣式,就像給ListView加一個HeaderView同樣簡
Phoenix 漂亮的動態刷新庫
Pull-to-Refresh.Rentals-Android 一個簡單能夠自定義的下拉刷新實現,Yalantis 出品。
Taurus 下拉刷新,Yalantis 出品。(是否是有點似曾相識呢?)
swipeRefreshLayout 谷歌官方自帶

2.2 底部導航欄

名稱 說明
LuseenBottomNavigation 很方便的遵循MD設計的底欄
ahbottomnavigation 遵循谷歌設計規範的底欄庫
BottomBar 另外一個遵循谷歌設計規範的底欄庫(PS:以前我使用的時候有點小BUG如今不清楚)

2.3 二維碼

名稱 說明
Zxing 谷歌開發的二維碼處理庫,功能強大,質量沒的說!一維碼二維碼都能掃!可是使用起來比較繁瑣。
ZBar ZBar則比較簡單,使用起來容易上手

- ZXing項目的示例程序對於攝像頭的控制寫的很是全面,ZBar的沒有

- ZBar基於C語言編寫,解碼效率高於ZXing項目

- ZBar是日本人寫的,對於中文解析會亂碼這個確定有人遇到過的,ZXing不會亂碼

- 掃描框的繪製,ZXing的掃描框繪製是自定義View的,截取區域很差控制(至少我沒控制好),ZBar的能夠自定義,只要你會計算截取區域

2.4 側滑菜單

名稱 說明
NavigationDrawer Material Design的抽屜模板庫,快速搭建側滑菜單。
SlidingMenu 以前也是個很優秀的側滑庫直到谷歌來攪局。。
FlowingDrawer 超帥的側滑菜單

2.5 側滑返回

名稱 說明
ParallaxSwipeBack 帶視覺差的側滑返回,相似於新版微信和lofter的側滑返回效果。引入方便,核心代碼只需幾十行!

2.6 文本輸入框

名稱 說明
MaterialEditText 方便自定義的EditText控件庫

2.7 側貼標籤

名稱 說明
labelview 相似淘寶的側貼標籤庫
FlycoLabelView 輕量級側貼標籤

2.8 側滑功能項

名稱 說明
AndroidSwipeLayout 滑動Layout,支持單個View,ListView,GridView

2.9 動畫庫

名稱 說明
animate 幾乎涵蓋全部MD動畫
Material-Animations MD動畫庫
ExplosionField 爆破效果的刪除動畫庫
LoadingDrawable 小清新的加載動畫

2.10 搜索框

名稱 說明
floatingsearchview 自帶動畫與動態加載數據的搜索框控件

2.11 快捷選擇

名稱 說明
drag-select-recyclerview 一直以爲魅族的快捷選擇頗有用,終於找到一個相似功能的還支持recycleView

2.12 引導頁

名稱 說明
material-intro MD風格的引導頁
SlidingTutorial 很順滑的引導頁
MaterialIntroView MD式的高亮引導頁
HTextView 其實這是個帥炸的文字展現庫,但是我用過作引導頁並且逼格不錯!

2.13 菜單

名稱 說明
android-snake-menu 相似Tumblr的蛇形菜單
coolMenu 帥炸的視窗菜單
BoomMenu 爆炸式的彈出菜單

2.14 圖案密碼解鎖單

名稱 說明
android-lockpattern Android開機的圖案密碼解鎖,支付寶的密碼解鎖

2.15 滑動開關

名稱 說明
ToggleButton 狀態切換的 Button,相似 iOS,用 View 實現

2.16 對話框

名稱 說明
sweet-alert-dialog 一個帶動畫效果的自定義對話框樣式

2.17 進度條

名稱 說明
NumberProgressBar 個簡約性感的數字進度條
CircularProgressView 自定義view的方式實現的Material風格的加載提示控件,兼容任何版本。

2.18 列表

名稱 說明
StickyListHeaders 拼音字母懸停,GroupName滑動到頂端時會固定不動直到另一個GroupName到達頂端的ExpandListView,支持快速滑動,支持Android2.3及以上
--- 下拉刷新上拉加載
--- 側滑功能
--- 拖動排序

參考文章:

一、Android經常使用庫之碰見你真舒心

二、15 個 Android 通用流行框架大全

三、Android開源項目第一篇——個性化控件(View)篇

四、2015最流行的Android組件、工具、框架大全

若是須要看源碼請移步到個人博客直接點擊鏈接便可:

http://blog.csdn.net/geofferysun/article/details/53008509

相關文章
相關標籤/搜索