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

前言

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

一 、基本控件

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主要特性包括:一、當adapter沒有設置的時候使用ProgressBar(進度條);二、當adapter時空的時候使用EmptyView;三、SwipeRefreshLayout (Google's one);四、Swipe To Dismiss;五、Sticky headers;六、無限滾動,當到達最後一項時,加載更多數據;

  • LRecyclerView 下拉刷新,自動加載更多;仿IOS側滑Item刪除菜單

  • LayoutManagerGroup 自定義RecyclerView 的LayoutManager實現幾種炫酷的效果。

  • android-advancedrecyclerview 自定義RecyclerView (2019-03-29 新增)

日曆、時鐘

Webview

ScrollView

ViewPager

WheelPicker

導航欄

2、功能相關

圖片選擇

圖片加載

音視頻

刷新控件

動畫

輪播圖

權限

二維碼

新手引導

  • 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 一個高效、完整、易用的移動數據庫框架,基於(https://github.com/sqlcipher/sqlcipher)[SQLCipher],支持iOS, macOS和Android。

  • Android-Debug-Database 數據庫調試工具

圖表

菜單

手勢關閉

事件處理

換膚

狀態欄

顏色選擇器

佈局相關

屏幕適配

其餘

3、網絡相關

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 工具類

4、自定義View

蛛網圖

翻書效果

圖案解鎖

望遠鏡效果(部分高亮)

其餘

5、其餘

工具類

  • AndroidUtilCode 強大易用的安卓工具類庫

  • RxTools Android開發人員不得不收集的工具類集合

  • butterknife 利用 annotation 幫你快速完成 View 的初始化,減小代碼

熱修復

插件化

  • RePlugin RePlugin是一套完整的、穩定的、適合全面使用的,佔坑類插件化方案,由360手機衛士的RePlugin Team研發,也是業內首個提出」全面插件化「(全面特性、全面兼容、全面使用)的方案。(2019-03-27 新增)

簽名打包

  • walle Android Signature V2 Scheme簽名下的新一代渠道包打包神器

  • packer-ng-plugin 100個渠道包只須要10秒鐘

反編譯

依賴注入

  • dagger 依賴注入,適用於 Android 和 Java

日誌

路由

  • ARouter 幫助 Android App 進行組件化改造的路由框架

內存泄漏檢測

佈局優化

  • X2C 在編譯生成APK期間,將須要翻譯的layout翻譯生成對應的java文件,這樣對於開發人員來講寫佈局仍是寫原來的xml,但對於程序來講,運行時加載的是對應的java文件。 (2019-03-27 新增)

畫圖

圖片壓縮

攝像頭

富文本編輯器

指示器

  • MagicIndicator 強大、可定製、易擴展的 ViewPager 指示器框架。

  • dotsindicator 視圖頁導航點指示器(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 新增)

其餘

相關文章
相關標籤/搜索