Android 流行框架查速表

特別推薦

util工具整理.非常全的Android常用util

緩存框架

  • DiskLruCache Java實(shí)現(xiàn)基于LRU的磁盤(pán)緩存
  • ASimpleCache 是一個(gè)為android制定的 輕量級(jí)的 開(kāi)源緩存框架。輕量到只有一個(gè)java文件(由十幾個(gè)類(lèi)精簡(jiǎn)而來(lái))。

圖片加載

  • Android Universal Image Loader 應(yīng)該是使用最多的圖片緩存,支持主流圖片緩存的絕大多數(shù)特性
  • Picasso 一個(gè)強(qiáng)大的圖片下載與緩存的庫(kù)
  • Fresco Facebook 開(kāi)源的一個(gè)強(qiáng)大的圖片加載組件。用于管理圖像和他們使用的內(nèi)存的庫(kù)
  • Glide 一個(gè)高效、開(kāi)源、 Android設(shè)備上的媒體管理框架。靈活的API,可以和很多網(wǎng)絡(luò)框架進(jìn)行整合

圖片處理

  • Picasso-transformations 一個(gè)為Picasso提供多種圖片變換的庫(kù)
  • Glide-transformations 一個(gè)為Glide提供多種圖片變換的庫(kù)
  • Android-gpuimage GPUImage是個(gè)功能十分強(qiáng)大、又十分易用的圖像處理庫(kù)。提供各種各樣的圖像處理濾鏡,并且支持照相機(jī)和攝像機(jī)的實(shí)時(shí)濾鏡
  • ImageFilterForAndroid 國(guó)內(nèi)的代震軍開(kāi)源的濾鏡效果框架。

網(wǎng)絡(luò)請(qǐng)求

  • Android Async HTTP Android異步HTTP庫(kù)
  • AndroidAsync 異步Socket,HTTP(客戶端+服務(wù)器),WebSocket,和socket.io庫(kù)?;贜IO而不是線程
  • OkHttp 一個(gè)Http與Http/2的客戶端
  • Retrofit Square開(kāi)源的Android和Java的REST風(fēng)格請(qǐng)求庫(kù).
  • Volley Google推出的Android異步網(wǎng)絡(luò)請(qǐng)求框架和圖片加載框架
  • Android Lite Http 一款‘智能’的HTTP框架類(lèi)庫(kù)。國(guó)人開(kāi)發(fā)的一套框架
  • HttpCache Trinea大神寫(xiě)的Http緩存工具
  • Http Request Java HTTP請(qǐng)求庫(kù)
  • Ion Android異步網(wǎng)絡(luò)和圖片加載

網(wǎng)絡(luò)解析

  • Gson 一個(gè)Java序列化/反序列化庫(kù),可以將JSON和java對(duì)象互相轉(zhuǎn)換
  • Jackson Jackson可以輕松地將Java對(duì)象轉(zhuǎn)換成json對(duì)象和xml文檔,同樣也可以將json、xml轉(zhuǎn)換成Java對(duì)象
  • Fastjson 阿里巴巴開(kāi)源JSON解析庫(kù),是一個(gè)Java語(yǔ)言編寫(xiě)的高性能功能完善的JSON庫(kù)。它采用一種“假定有序快速匹配”的算法, 把JSON Parse的性能提升到極致,是目前Java語(yǔ)言中最快的JSON庫(kù)。各種JSON庫(kù)的比較
  • HtmlPaser 一種用來(lái)解析單個(gè)獨(dú)立html或嵌套html的方式
  • Jsoup 一個(gè)以最好的DOM,CSS和jQuery解析html的庫(kù)

數(shù)據(jù)庫(kù)

  • ROOMGoogle Jetpack 推出的數(shù)據(jù)庫(kù),非常好用
  • OrmLite OrmLite不是Android平臺(tái)專(zhuān)用的orm框架,它是一個(gè)Java orm,OrmLite For Android增加了對(duì)Android平臺(tái)的支持。
  • Sugar 用超級(jí)簡(jiǎn)單的方法處理Android數(shù)據(jù)庫(kù)
  • GreenDAO GreenDAO是一個(gè)輕量級(jí),快速的orm框架。簡(jiǎn)化建表、查詢(xún)、更新、插入、事務(wù)、索引的操作
  • ActiveAndroid ActiveAndroid是一個(gè)輕量級(jí)的orm框架,名稱(chēng)命令方式類(lèi)似于Yii、Rails等使用的orm框架ActiveRecord
  • SQLBrite SQLiteOpenHelper 和ContentResolver的輕量級(jí)包裝
  • Realm 移動(dòng)端的數(shù)據(jù)庫(kù),適用于 Phone、Tablet、Wearable,支持 ORM,線程安全、支持連表及數(shù)據(jù)庫(kù)加密,比 SQLite 性能更好。
  • DBFlow 一個(gè)速度極快,功能強(qiáng)大,而且非常簡(jiǎn)單的 Android 數(shù)據(jù)庫(kù) ORM 庫(kù)

依賴(lài)注入

  • ButterKnife 將Android視圖和回調(diào)方法綁定到字段和方法上,利用annotation幫你快速完成View的初始化,減少代碼
  • Dagger2 一個(gè)Android和java快速依賴(lài)注射器
  • AndroidAnotations 快速安卓開(kāi)發(fā)。易于維護(hù)
  • RoboGuice Android平臺(tái)的Google Guice

圖表庫(kù)

  • WilliamChart 創(chuàng)建圖表的Android庫(kù)
  • HelloCharts 兼容到API8的Android圖表庫(kù)
  • MPAndroidChart 一個(gè)強(qiáng)大的Android圖表視圖/圖形庫(kù)
  • EazeGraph Android圖表和圖表庫(kù)
  • AndroidCharts:一款易于使用的Android圖表動(dòng)畫(huà)類(lèi)庫(kù),包含曲線/折線圖、餅圖、時(shí)鐘圖、柱狀圖

后臺(tái)處理

  • Tape 一個(gè)輕快的,事務(wù)性的,基于文件的FIFO的庫(kù)
  • Android Priority Job Queue 一個(gè)專(zhuān)門(mén)為Android輕松調(diào)度任務(wù)的工作隊(duì)列

事件總線

  • EventBus 安卓?jī)?yōu)化的事件總線,簡(jiǎn)化了活動(dòng)、片段、線程、服務(wù)等的通信
  • Otto 一個(gè)基于Guava的增強(qiáng)的事件總線
  • AndroidEventBusbboyfeiyu開(kāi)源的事件總線框架,吸收了greenrobot的EventBus以及square的otto的優(yōu)點(diǎn), 并在此基礎(chǔ)上做出了相應(yīng)的改進(jìn),使得事件總線框架更適合用戶的使用習(xí)慣,也使得事件的投遞更加的精準(zhǔn)、靈活

響應(yīng)式編程

  • RxJava JVM上的響應(yīng)式擴(kuò)展
  • RxJavaJoins 為RxJava提供Joins操作
  • RxAndroid Android上的響應(yīng)式擴(kuò)展,在RxJava基礎(chǔ)上添加了Android線程調(diào)度
  • RxBinding 提供用RxJava綁定Android UI的API
  • Agera Android上的響應(yīng)式編程
  • RxLifecycle RxAndroid的生命周期控制
  • RxPermissions RxJava實(shí)現(xiàn)的Android運(yùn)行時(shí)權(quán)限控制
  • RxFile RxJava實(shí)現(xiàn),從文件,圖片或者視頻中獲取縮略圖
  • xBus EventBus的RxJava實(shí)現(xiàn)。 最簡(jiǎn)單的RxBus實(shí)現(xiàn)
  • Retrolambda:可以在Android上使用Lambdas表達(dá)式
  • Agera Agera(瑞典文的意思是"采取行動(dòng)")是一個(gè)超輕量級(jí)的Android庫(kù),

幫助Android應(yīng)用中有生命周期的組件(比如:Activities)或者組件中的對(duì)象(比如:Views)預(yù)準(zhǔn)備數(shù)據(jù)。 通過(guò)加入函數(shù)式響應(yīng)式編程,Agera可以在 什么時(shí)機(jī), 什么線程 和 什么數(shù)據(jù) 層面上更清晰的分離數(shù)據(jù)處理流程,并且使用一個(gè)接近自然語(yǔ)言的單個(gè)表達(dá)式就能編寫(xiě)一個(gè)復(fù)雜的異步流。

from Agera中文wiki
Google Agera vs Reactivex:Reddit的討論, 詳細(xì)對(duì)比

Log框架

  • Logger 簡(jiǎn)單,漂亮,強(qiáng)大的Android日志工具
  • Hugo 在調(diào)試版本上注解的觸發(fā)方法進(jìn)行日志記錄
  • Timber 一個(gè)小的,可擴(kuò)展的日志工具
  • DebugLog 可以幫你創(chuàng)建更簡(jiǎn)單和更容易理解的調(diào)試日志,能夠友好的顯示調(diào)試信息所在類(lèi)和函數(shù)。

測(cè)試框架

  • Mockito Java編寫(xiě)的Mocking單元測(cè)試框架
  • Robotium Android UI 測(cè)試
  • Robolectric Android單元測(cè)試框架
  • Android自帶很多測(cè)試工具:JUnit,Monkeyrunner,UiAutomator,Espresso等

調(diào)試框架

  • Stetho 調(diào)試Android應(yīng)用的橋梁,使得可以利用Chrome開(kāi)發(fā)者工具進(jìn)行調(diào)試

性能優(yōu)化

  • LeakCanary 內(nèi)存泄漏檢測(cè)工具
  • ACRA Android應(yīng)用程序崩潰報(bào)告

Android插件

  • DynamicAPK 實(shí)現(xiàn)Android多apk/dex方式的apk加載,支持資源分包
  • AndroidDynamicLoader 點(diǎn)評(píng)的插件化實(shí)現(xiàn)方式,是用 Fragment 以及 Schema 的方式實(shí)現(xiàn)
  • dynamic-load-apk Apk動(dòng)態(tài)加載框架,熱部署,利用 ClassLoader 以及 Activity 代理的方式解決。
  • android-pluginmgr 一種無(wú)須規(guī)范限制的動(dòng)態(tài)加載解決方案,插件不需要依賴(lài)任何API
  • DroidPlugin DroidPlugin 是360手機(jī)助手在Android系統(tǒng)上實(shí)現(xiàn)了一種新的插件機(jī)制:它可以在無(wú)需安裝、修改的情況下運(yùn)行APK文件,此機(jī)制對(duì)改進(jìn)大型APP的架構(gòu),實(shí)現(xiàn)多團(tuán)隊(duì)協(xié)作開(kāi)發(fā)具有一定的好處

熱修補(bǔ)框架

  • Dexposed 基于Xposed的AOP框架,方法級(jí)粒度,可以進(jìn)行AOP編程、插樁、熱補(bǔ)丁、SDK hook等功能。
  • AndFix 阿里巴巴的另一個(gè)團(tuán)隊(duì)的hot fix方案。同樣是方法的hook,AndFix不像Dexposed從Method入手,而是以Field為切入點(diǎn)。
  • Nuwa 純java實(shí)現(xiàn)的hot fix方案
  • HotFix 安卓App熱補(bǔ)丁動(dòng)態(tài)修復(fù)框架
  • DroidFix AndroidHotFix/Android 代碼熱修復(fù)
  • AnoleFix Another hotfix 另一個(gè)熱修復(fù)方案 Alpha,來(lái)自InstantRun 和 Robust 類(lèi)似
  • Amigo 餓了么團(tuán)隊(duì)開(kāi)源的 Android hotfix框架
  • Tinker 微信開(kāi)源的Android Hot fix方案

視頻處理

  • ExoPlayer Android的可擴(kuò)展媒體播放器
  • VideoPlayerManager:幫助開(kāi)發(fā)者使用MediaPlayer
  • Easy Video Player:易于使用的視頻播放器
  • ijkplayer Android / iOS視頻播放器基于FFmpeg n3.2,支持MediaCodec,VideoToolbox
  • mp4parser 用于讀取,寫(xiě)入和創(chuàng)建MP4文件的Java API
  • AndroidFFmpeg FFmpeg視頻解析的例子
  • Vitamio Vitamio是一款A(yù)ndroid 與iOS 平臺(tái)上的全能多媒體開(kāi)發(fā)框架
  • 全面支持硬件解碼與 GPU 渲染
  • 能夠流暢播放 720P 甚至 1080P 高清 MKV,F(xiàn)LV,MP4,MOV,TS,RMVB 等常見(jiàn)格式的視頻
  • 在 Android 與 iOS 上跨平臺(tái)支持 MMS, RTSP, RTMP, HLS(m3u8)等常見(jiàn)的多種視頻流媒體協(xié)議,包括點(diǎn)播與直播

Camera操作

  • cwac-camera commonsguy開(kāi)源的camera操作封裝。
  • SquareCamera 正方的攝像機(jī),有前后攝像頭等操作。
  • CameraModule Yalantis開(kāi)源的攝像機(jī),有自動(dòng)聚焦功能等。
  • OpenCamera 完整的攝像機(jī),功能很全,不過(guò)代碼有點(diǎn)亂。
  • StickerCamera 這是一款集成了相機(jī),圖片裁剪,給圖片貼貼圖打標(biāo)簽的相機(jī)應(yīng)用。

動(dòng)畫(huà)

  • Android View Animations:一個(gè)非常強(qiáng)大的開(kāi)源動(dòng)畫(huà)庫(kù),開(kāi)發(fā)者可以用來(lái)創(chuàng)建各種效果
  • RecyclerView Animators:可實(shí)現(xiàn)RecyclerView動(dòng)畫(huà)
  • lottie-android 動(dòng)畫(huà)類(lèi)框架排行榜第一名,一款可以在 Android 端快速展示 Adobe Afeter Effect(AE) 工具所做動(dòng)畫(huà)的框架.

利用 json 文 件快速實(shí)現(xiàn)動(dòng)畫(huà)效果是它最大的便利,而這個(gè) json 文件也是由 Adobe 提供的 AE 工具制作的,在 AE 中裝一個(gè) Bodymovin 的插件,使用這個(gè)插件最終將動(dòng)畫(huà)效果生成 json 文件,這個(gè) json 文件即可由 LottieAnimationView 解析并生成絢麗的動(dòng)畫(huà)效果,而且它還支持跨平臺(tái)

  • Material-Animations一款提供場(chǎng)景轉(zhuǎn)換過(guò)渡能力的動(dòng)畫(huà)框架,與 lottie-android 不同的是,Material-Animations 提供的是場(chǎng)景切換的動(dòng)畫(huà)效果

日期&時(shí)間

文件

手勢(shì)

  • Sensey:可以在Android應(yīng)用程序里面添加手勢(shì)操作,使用簡(jiǎn)單
  • Android 3D Touch – PeekView:可以在Android平臺(tái)上實(shí)現(xiàn)類(lèi)似iOS上面的3D Touch功能

藍(lán)牙

  • Android-BluetoothSPPLibrary:開(kāi)發(fā)者用它可以通過(guò)藍(lán)牙與微控制器(microcontroller)或Android設(shè)備進(jìn)行通信
  • RxAndroidBle:基于RxJava技術(shù),可用較低的電量操作藍(lán)牙

UI界面

1. material-dialogs

是一款自定義View框架,如多你還是一個(gè)自定義 View 的新人,對(duì) Dialog 使用還有點(diǎn)生疏,那么通過(guò)使用 material-dialogs 可以提升你的 Dilaog 使用能力

GitHub 地址:material-dialogs GitHub 地址

2. flexbox-layout

是一款彈性伸縮布局,F(xiàn)lexboxLayout 作為 LinearLayout 和 RelativeLayout 的替代者,值得大家在項(xiàng)目開(kāi)發(fā)中去嘗試使用,畢竟是 Google 出品

GitHub 地址:flexbox-layout GitHub 地址

3. AndroidSwipeLayout

非常強(qiáng)大的滑動(dòng)式布局,滑動(dòng)刪除是我們 app 中的常見(jiàn)需求,商品詳情的上下滑動(dòng)需求在實(shí)際開(kāi)發(fā)中我們也是經(jīng)常遇到,AndroidSwipeLayout 在 GitHub 上有 8300 個(gè) stars,證明還是值得使用

GitHub 地址:AndroidSwipeLayout GitHub 地址

4. BaseRecyclerViewAdapterHelper

強(qiáng)大的通用 RecyclerView 適配器,在 GitHub Android 適配器排行榜第一

GitHub 地址:BaseRecyclerViewAdapterHelper GitHub 地址

5. MaterialDrawer

強(qiáng)大的材料風(fēng)格的抽屜框架,非常靈活,易于使用

GitHub 地址:MaterialDrawer GitHub 地址

6. Android-ObservableScrollView

一款讓視圖滑動(dòng)更具有視覺(jué)效果的滑動(dòng)式框架,在 GitHub 上提供了 12 種滑動(dòng)效果,可以用來(lái)提升 App 的滑動(dòng)體驗(yàn)

GitHub 地址:Android-ObservableScrollView GitHub 地址

7. AppIntro

一款提供快速制作歡迎頁(yè)的框架,在國(guó)內(nèi)的 App 開(kāi)發(fā)中,ViewPager 開(kāi)發(fā) App 的歡迎頁(yè)已經(jīng)是標(biāo)配的需求,但是 AppIntro 也是絕對(duì)值得你一看

GitHub 地址:AppIntro GitHub 地址

8. ViewPagerIndicator

一款基于 ViewPager 的頁(yè)面指示器開(kāi)源框架,作者是 Android 大神 JakeWharton,只是已經(jīng)很長(zhǎng)時(shí)間沒(méi)有更新了,大家可以參考使用

GitHub 地址:ViewPagerIndicator GitHub 地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,725評(píng)論 25 709
  • afinalAfinal是一個(gè)android的ioc,orm框架 https://github.com/yangf...
    wgl0419閱讀 6,566評(píng)論 1 9
  • afinalAfinal是一個(gè)android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,835評(píng)論 2 45
  • 有時(shí)候我在想,是否,所遇良人,當(dāng)歸即好。 在網(wǎng)上無(wú)意間看見(jiàn)這樣一個(gè)帖子,大意是一個(gè)女生在網(wǎng)上哭訴,玩游戲認(rèn)...
    阿魚(yú)的阿魚(yú)閱讀 1,023評(píng)論 0 2
  • 很高興,我又開(kāi)始活蹦亂跳的了,身體不舒服的一個(gè)月里,讓我切身體會(huì)到,健康多重要,能有一個(gè)活蹦亂跳的身體是...
    跳躍的精靈閱讀 377評(píng)論 2 3

友情鏈接更多精彩內(nèi)容