Android常用的開源庫收集(持續更新中)

前言

本文收集了一些Android手機端和TV端比較常見的開源控件、開源工具類、開源框架等等,記錄於此,後期持續更新。

一 、基本控件

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

PopUpWindow

  • {暫停維護} EasyPopup 對 PopupWindow 的封裝。可指定相對於 anchor view 各個方位彈出,設置背景變暗,指定 ViewGroup 背景變暗等特性
  • BasePopup 還在爲PopupWindow煩惱嗎?不如試試BasePopup.目前star 3K+
  • SmartPopupWindow 提供關於PopupWindow使用過程中遇到的一些特殊問題的解決方案,例如:PopupWindow不響應點擊外部消失和返回鍵消失的解決方法;PopupWindow精確計算要顯示位置原理和方法;實現帶箭頭的上下文菜單遇到的坑;Android7.0 PopupWindow的兼容問題;屏幕旋轉時調用PopupWindow update方法更新位置失效的問題及解決方案。

導航欄

二、功能相關

圖片選擇

圖片加載

音視頻

刷新控件

動畫

輪播圖

權限

二維碼

新手引導

  • 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 數據庫調試工具

圖表

菜單

手勢關閉

事件處理

換膚

狀態欄

顏色選擇器

佈局相關

屏幕適配

其他

三、網絡相關

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的網絡庫

json

下載、上傳

rx

  • RxAndroid 對RxJava在Android上的擴展,使得Android上也很容易實現reactive components,簡化線程操作,從而寫出很漂亮的代碼。
  • RxJava
  • RxCache 專門爲Retrifit打造的緩存庫
  • ReactiveNetwork 檢測網絡狀態
  • RxLifecycle 管理rx的生命週期
  • AutoDispose rx 工具類

四、自定義View

蛛網圖

翻書效果

圖案解鎖

望遠鏡效果(部分高亮)

其他

五、其他

工具類

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

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

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

組件化

  • MVPArms 官方快速組件化方案

  • DDComponentForAndroid 一套完整有效的android組件化方案,支持組件的組件完全隔離、單獨調試、集成調試、組件交互、UI跳轉、動態加載卸載等功能

  • CC 業界首個支持漸進式組件化改造的Android組件化開源框架,支持跨進程調用

熱修復

插件化

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

簽名打包

  • walle Android Signature V2 Scheme簽名下的新一代渠道包打包神器
  • packer-ng-plugin 100個渠道包只需要10秒鐘

反編譯

依賴注入

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

日誌

路由

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

內存泄漏檢測

佈局優化

  • X2C 在編譯生成APK期間,將需要翻譯的layout翻譯生成對應的java文件,這樣對於開發人員來說寫佈局還是寫原來的xml,但對於程序來說,運行時加載的是對應的java文件。

畫圖

圖片壓縮

攝像頭

富文本編輯器

指示器

自定義字體加載

文件加密

表情包

相機濾鏡

車牌識別

鍵盤衝突

藍牙

  • Android-BLE AndroidBLE藍牙框架,包括掃描、連接、設置通知、發送數據、讀取、接收數據和OTA升級以及各種直觀的回調,近乎一行代碼植入項目,可擴展配置藍牙相關操作。

測試

  • Matrix 通過各種性能監控方案,對性能監控項的異常數據進行採集和分析,輸出相應的問題分析、定位與優化建議,從而幫助開發者開發出更高質量的應用。
  • pandora 一款無需ROOT、可以直接在應用內查看和修改包括網絡、數據庫、UI等的工具箱,適合開發和測試階段的各種問題的快速定位。
  • ArgusAPM 。ArgusAPM是360移動端產品使用的可視化性能監控平臺,爲移動端APP提供性能監控與管理,可以迅速發現和定位各類APP性能和使用問題,幫助APP不斷的提升用戶體驗。
  • AndroidPerformanceMonitor 非侵入式的性能監控組件
  • UETool 一個各方人員(設計師、程序員、測試)都可以使用的調試工具。它可以作用於任何顯示在屏幕上的 view,比如 Activity/Fragment/Dialog/PopupWindow 等等。
  • robolectric 單元測試

其他

擴展:

總結

以上收集了Android手機端和TV端常用的開源庫,歡迎你補充。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章