Android 常用開源庫總結(持續更新)

歡子發表於2019-03-07

前言

收集了一些比較常見的開源庫,特此記錄(已收錄350+)。另外,本文將持續更新,大家有關於Android 優秀的開源庫,也可以在下面留言。

一 、基本控制元件

TextView
EditText
ImageView
Button
Spinner
CheckBox
ProgressBar(包含loading動畫)
Seekbar
RatingBar
  • MaterialRatingBar 與 Google 系應用設計相同、支援拉伸、修正原生實現諸多問題的星級評分條
Toast
RecyclerView
  • BaseRecyclerViewAdapterHelper 萬能adapter
  • MultiChoiceAdapter 多選adapter
  • SwipeRecyclerView 基於RecyclerView的封裝,提供了Item側滑選單、Item滑動刪除、Item長按拖拽、新增HeaderView/FooterView、載入更多、Item點選監聽等基本功能。
  • EasyRecyclerView 封裝RecyclerView
  • StickyItemDecoration 懸浮頭部
  • PinnedSectionItemDecoration 懸浮頭部
  • recyclerview-animators RecycleView的專案動畫的Android元件庫
  • UltimateRecyclerView 能強大的Recyclerview,包括了下拉重新整理,載入更多,多種動畫,空資料提示,拖動排序,視差處理,工具欄漸變,滑動刪除,自定義floating button,多種重新整理效果,scrollbar等等元素,而且使用起來跟recyclerview一樣的方便。
  • epoxy Epoxy採用可組合的方式來建立列表。列表中的每個item由一個model代表,model定義了item的佈局,id以及span。model還負責處理資料到檢視的繫結,在檢視被回收的時候釋放資源。如果要顯示這些model則把它們新增到Epoxy的adapter中,adapter為你處理複雜的顯示問題。
  • XRecyclerView XRecyclerView實現了下拉重新整理,滾動到底部載入更多以及新增header功能的的RecyclerView。使用方式和RecyclerView完全一致,不需要額外的layout,不需要寫特殊的adater。 載入效果內建了AVLoadingIndicatorView上的所有效果,可以根據需要指定。
  • RecyclerViewPager RecyclerViewPager基於 RecyclerView 實現的 ViewPager,可自定義 Page 切換敏感度,支援垂直 ViewPager,支援類 Gallary 效果,支援無限迴圈。
  • SuperRecyclerView SuperRecyclerView主要特性包括:1、當adapter沒有設定的時候使用ProgressBar(進度條);2、當adapter時空的時候使用EmptyView;3、SwipeRefreshLayout (Google's one);4、Swipe To Dismiss;5、Sticky headers;6、無限滾動,當到達最後一項時,載入更多資料;
  • LRecyclerView 下拉重新整理,自動載入更多;仿IOS側滑Item刪除選單
  • LayoutManagerGroup 自定義RecyclerView 的LayoutManager實現幾種炫酷的效果。
  • android-advancedrecyclerview 自定義RecyclerView (2019-03-29 新增)
日曆、時鐘
Webview
ScrollView
ViewPager
WheelPicker
導航欄

二、功能相關

圖片選擇
圖片載入
音視訊
重新整理控制元件
動畫
輪播圖
許可權
二維碼
新手引導
  • NewbieGuide Android 快速實現新手引導層的庫,通過簡潔鏈式呼叫,一行程式碼實現引導層的顯示
  • GuideView 能夠快速為任何一個View建立一個遮罩層,支援單個頁面,多個引導提示,支援為高亮區域設定不同的圖形,支援引導動畫,方便擴充套件,良好支援fragment
資料庫
  • greenDAO
  • ActiveAndroid Android Sqlite orm 的 db 工具類
  • realm-java 移動端的資料庫,適用於 Phone、Tablet、Wearable,支援 ORM,執行緒安全、支援連表及資料庫加密,比 SQLite 效能更好
  • DBFlow Android SQLite ORM 工具庫。綜合了 Active Android, Schematic, Ollie,Sprinkles 等庫的優點;通過註解實現,效能好;能生成 ContentProvider。
  • SnappyDB key-value資料庫,非常流行的NoSQL資料庫
  • LitePal 不編寫SQL語句的情況下完成大多數資料庫操作,包括建立或升級表、CRUD操作、聚合函式等
  • objectbox-java ObjectBox是一個超高速的物件導向的資料庫,具有很強的關係支援。ObjectBox嵌入到Android、Linux、MacOS或Windows應用程式中。
  • wcdb 一個高效、完整、易用的移動資料庫框架,基於SQLCipher,支援iOS, macOS和Android。
  • Android-Debug-Database 資料庫除錯工具
圖表
選單
手勢關閉
事件處理
換膚
狀態列
顏色選擇器
佈局相關

螢幕適配

其他

三、網路相關

http
  • retrofit
  • okhttp
  • okhttp-OkGo 封裝了 OkHttp 的網路請求框架
  • {停止維護} okhttputils okhttp的輔助類
  • NoHttp 實現Http標準協議框架,支援多種快取模式,底層可動態切換OkHttp、URLConnection。
  • xUtils3 xUtils 包含了orm, http(s), image, view註解
  • afinal Afinal是一個android的ioc,orm框架,內建了四大模組功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp
  • Fast-Android-Networking 支援http2的網路庫(2019-03-29 新增)
json
下載、上傳
rx
  • RxAndroid 對RxJava在Android上的擴充套件,使得Android上也很容易實現reactive components,簡化執行緒操作,從而寫出很漂亮的程式碼。
  • RxJava
  • RxCache 專門為Retrifit打造的快取庫
  • ReactiveNetwork 檢測網路狀態
  • RxLifecycle 管理rx的生命週期
  • AutoDispose rx 工具類

四、自定義View

蛛網圖
翻書效果
圖案解鎖
望遠鏡效果(部分高亮)
其他

五、其他

工具類
  • AndroidUtilCode 強大易用的安卓工具類庫
  • RxTools Android開發人員不得不收集的工具類集合
  • butterknife 利用 annotation 幫你快速完成 View 的初始化,減少程式碼
  • parceler 序列化(2019-03-29 新增)
熱修復
外掛化
  • RePlugin RePlugin是一套完整的、穩定的、適合全面使用的,佔坑類外掛化方案,由360手機衛士的RePlugin Team研發,也是業內首個提出”全面外掛化“(全面特性、全面相容、全面使用)的方案。(2019-03-27 新增)
簽名打包
  • walle Android Signature V2 Scheme簽名下的新一代渠道包打包神器
  • packer-ng-plugin 100個渠道包只需要10秒鐘
反編譯
依賴注入
  • dagger 依賴注入,適用於 Android 和 Java
日誌
路由
記憶體洩漏檢測
佈局優化
  • X2C 在編譯生成APK期間,將需要翻譯的layout翻譯生成對應的java檔案,這樣對於開發人員來說寫佈局還是寫原來的xml,但對於程式來說,執行時載入的是對應的java檔案。 (2019-03-27 新增)
畫圖
圖片壓縮
攝像頭
富文字編輯器
指示器
自定義字型載入
檔案加密
表情包
相機濾鏡
車牌識別
鍵盤衝突
藍芽
  • Android-BLE AndroidBLE藍芽框架,包括掃描、連線、設定通知、傳送資料、讀取、接收資料和OTA升級以及各種直觀的回撥,近乎一行程式碼植入專案,可擴充套件配置藍芽相關操作。
測試
  • Matrix 通過各種效能監控方案,對效能監控項的異常資料進行採集和分析,輸出相應的問題分析、定位與優化建議,從而幫助開發者開發出更高質量的應用。
  • pandora 一款無需ROOT、可以直接在應用內檢視和修改包括網路、資料庫、UI等的工具箱,適合開發和測試階段的各種問題的快速定位。
  • ArgusAPM 。ArgusAPM是360移動端產品使用的視覺化效能監控平臺,為移動端APP提供效能監控與管理,可以迅速發現和定位各類APP效能和使用問題,幫助APP不斷的提升使用者體驗。(2019-03-27 新增)
  • AndroidPerformanceMonitor 非侵入式的效能監控元件
  • UETool 一個各方人員(設計師、程式設計師、測試)都可以使用的除錯工具。它可以作用於任何顯示在螢幕上的 view,比如 Activity/Fragment/Dialog/PopupWindow 等等。(2019-03-27 新增)
  • robolectric 單元測試 (2019-03-29 新增)
其他

你的認可,是我堅持更新部落格的動力,如果覺得有用,就請點個贊,謝謝

相關文章