特別推薦
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)的事件總線
- AndroidEventBus是bboyfeiyu開(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í)間
- TimesSquare for Android:一款非常漂亮的日歷控件
- Material Calendar View:一款Material Design風(fēng)格的日歷控件
文件
- Android-FilePicker:一個(gè)phtoopicker,用于Android設(shè)備選擇文件或者目錄
- Material File Picker:一個(gè)Material design風(fēng)格的文件選擇工具
手勢(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 地址