記一些專案中遇到的第三方組件或框架,如果以下條目有更好的替代品,歡迎提出!Star and Respect All!
由于推薦條目過多,本文將不再更新,以后的更新會在GitHub上進行,本文內容已在GitHub上建立倉庫Android-All-Star/GitHub Pages,
如果你有好的開源專案推薦或者你就是開源專案的開發者,歡迎分享!
如果本文推薦的開源庫已經廢棄或者存在過多BUG而不再被推薦使用,歡迎提出!
條目詳細格式如下:
框架/組件 //框架或組件的Github地址,點擊查看
GitHub 🌟: //GitHub star星數
專案簡介: //框架或組件的簡介
專案參考Blog: //框架或組件可以參考如何使用的Blog
專案使用 //配置或添加框架、組件依賴
implementation 'xx.xxx:xxx:x.x.x'
界面
圖片
android-gif-drawable
專案簡介:Views and Drawable for displaying animated GIFs on Android
GitHub 🌟:8.7k
專案參考Blog:android-gif-drawable教程
專案引入
dependencies {
...
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22'
}
CircleImageView
專案簡介:A fast circular ImageView perfect for profile images.
GitHub 🌟:13.8k
專案參考Blog:Android之CircleImageView使用(原創)
專案引入
dependencies {
...
implementation 'de.hdodenhof:circleimageview:3.1.0'
}
RoundedImageView
專案簡介:A fast ImageView that supports rounded corners, ovals, and circles.
GitHub 🌟:6.2k
專案參考Blog:Android 第三方RoundedImageView設定各種圓形、方形頭像
專案引入
dependencies {
...
implementation 'com.makeramen:roundedimageview:2.3.0'
}
PhotoView
專案簡介:Implementation of ImageView for Android that supports zooming, by various touch gestures.
GitHub 🌟:17.6k
專案參考Blog:Android UI Libs之PhotoView
專案引入
implementation 'com.github.chrisbanes:PhotoView:latest.release.here'
Add this in your root build.gradle file (not your module build.gradle file):
allprojects {
repositories {
jcenter()
maven { url 'https://jitpack.io' }
}
}
buildscript {
repositories {
maven { url "https://www.jitpack.io" }
}
}
subsampling-scale-image-view
專案簡介:Android library (AAR). Highly configurable, easily extendable deep zoom view for displaying huge images without loss of detail.
GitHub 🌟:6.7k
專案參考Blog:Subsampling Scale Image View WiKi
專案引入
dependencies {
...
implementation 'com.davemorrissey.labs:subsampling-scale-image-view:3.10.0' // for support lib
implementation 'com.davemorrissey.labs:subsampling-scale-image-view-androidx:3.10.0' // for androidx
}
uCrop
專案簡介:Image Cropping Library for Android
GitHub 🌟:10.6k
專案參考Blog:Android7.0拍照以及使用uCrop裁剪
專案引入
dependencies {
...
implementation 'com.github.yalantis:ucrop:2.2.6' //lightweight general solution
implementation 'com.github.yalantis:ucrop:2.2.6-native' //get power of the native code to preserve image quality (+ about 1.5 MB to an apk size)
}
PictureSelector
專案簡介:Picture Selector Library for Android or 多圖片選擇器
GitHub 🌟:10.1k
專案參考Blog:Android 選擇圖片、上傳圖片之PictureSelector
專案引入
implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.6.0'
allprojects {
repositories {
jcenter()
maven { url 'https://jitpack.io' }
}
}
文本
richeditor-android
專案簡介:RichEditor for Android is a beautiful Rich Text WYSIWYG Editor for Android.
GitHub 🌟:5.4k
專案參考Blog:移動端強大的富文本編輯器richeditor-android
專案引入
repositories {
mavenCentral()
}
dependencies {
...
implementation 'jp.wasabeef:richeditor-android:2.0.0'
}
TextSurface
專案簡介:A little animation framework which could help you to show message in a nice looking way
GitHub 🌟:2.1k
專案參考Blog:一個Android文字展示影片框架:TextSurface
專案引入
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
...
implementation 'com.github.elevenetc:textsurface:0.9.1'
}
彈窗
BaseDialog
專案簡介:Android BaseDialog(開發必備)影片、加載進度、陰影、上下左右中 進入
GitHub 🌟:163
專案參考Blog:Android BaseDialog(開發必備)影片、加載進度、陰影
專案引入
implementation 'com.github.AnJiaoDe:BaseDialog:V1.1.8'
allprojects {
repositories {
jcenter()
maven { url 'https://jitpack.io' }
}
}
material-dialogs
專案簡介:😍 A beautiful, fluid, and extensible dialogs API for Kotlin & Android.
GitHub 🌟:18.7k
專案參考Blog:material-dialogs/documentation
專案引入
dependencies {
...
implementation 'com.afollestad.material-dialogs:core:3.3.0'
}
Toasty
專案簡介:The usual Toast, but with steroids 💪
GitHub 🌟:6.1k
專案參考Blog:Usage
專案引入
dependencies {
...
implementation 'com.github.GrenderG:Toasty:1.5.0'
}
狀態欄
ImmersionBar
專案簡介:Android 4.4以上沉浸式狀態欄和沉浸式導航欄管理
GitHub 🌟:9.5k
專案參考Blog:android4.4以上沉浸式狀態欄和導航欄實作以及Bar的其他管理
專案引入
dependencies {
...
// 基礎依賴包,必須要依賴
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
// fragment快速實作(可選)
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
// kotlin擴展(可選)
implementation 'com.gyf.immersionbar:immersionbar-ktx:3.0.0'
}
輪播圖
banner
專案簡介:只做一個可以自定義的輪播容器,不侵入UI ———— Banner 2.0
GitHub 🌟:11.1k
專案參考Blog:Banner2.0 GitHub介紹
專案引入
implementation 'com.youth.banner:banner:2.1.0'
指示器
MagicIndicator
專案簡介:強大、可定制、易擴展的 ViewPager 指示器框架,是ViewPagerIndicator、TabLayout、PagerSlidingTabStrip的最佳替代品
GitHub 🌟:8.6k
專案參考Blog:MagicIndicator系列之一 —— 使用MagicIndicator打造千變萬化的ViewPager指示器
專案引入
repositories {
...
maven {
url "https://jitpack.io"
}
}
dependencies {
...
implementation 'com.github.hackware1993:MagicIndicator:1.6.0' // for support lib
implementation 'com.github.hackware1993:MagicIndicator:1.7.0' // for androidx
}
圖表
MPAndroidChart
專案簡介:A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations.
GitHub 🌟:33.1k
專案參考Blog:detailed video tutorials(付費視頻)、MPAndroidChart Documentation
專案引入
repositories {
...
maven {
url "https://jitpack.io"
}
}
dependencies {
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
}
TableView
專案簡介:TableView is a powerful Android library for displaying complex data structures and rendering tabular data composed of rows, columns and cells
GitHub 🌟:2.8k
專案參考Blog:Welcome to the Documentation of the TableView library
專案引入
dependencies {
implementation 'com.evrencoskun.library:tableview:0.8.9.4'
}
角標
BGABadgeView-Android
專案簡介:Android 徽章控制元件
GitHub 🌟:2.4k
專案參考Blog:初始化徽章控制元件
專案引入
//把 maven { url 'https://jitpack.io' } 加入到 repositories 中
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
...
implementation 'com.github.bingoogolapple.BGABadgeView-Android:api:latestVersion'
annotationProcessor 'com.github.bingoogolapple.BGABadgeView-Android:compiler:latestVersion'
}
選擇器
Android-PickerView
專案簡介:This is a picker view for android , support linkage effect, timepicker and optionspicker.(時間選擇器、省市區三級聯動)
GitHub 🌟:12.7k
專案參考Blog:PickerView–仿ios滾輪時間選擇、城市選擇效果
專案引入
implementation 'com.contrarywind:Android-PickerView:4.1.9'
歡迎頁
AppIntro
專案簡介:Make a cool intro for your Android app.
GitHub 🌟:9.7k
專案參考Blog:Basic usage
專案引入
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
...
implementation 'com.github.AppIntro:AppIntro:4.2.3' // for support lib
implementation 'com.github.AppIntro:AppIntro:6.1.0' // for androidx
}
選單
MaterialDrawer
專案簡介:The flexible, easy to use, all in one drawer library for your Android project. Now brand new with material 2 design
GitHub 🌟:11.3k
專案參考Blog:Android, Using Navigation Drawer Across Multiple Activities: The easiest way.
專案引入
implementation "com.mikepenz:materialdrawer:${lastestMaterialDrawerRelease}"
//required support lib modules
implementation "androidx.appcompat:appcompat:${versions.appcompat}"
implementation "androidx.recyclerview:recyclerview:${versions.recyclerView}"
implementation "androidx.annotation:annotation:${versions.annotation}"
implementation "com.google.android.material:material:${versions.material}"
implementation "androidx.constraintlayout:constraintlayout:${versions.constraintLayout}"
// Add for NavController support
implementation "com.mikepenz:materialdrawer-nav:${lastestMaterialDrawerRelease}"
// Add for Android-Iconics support
implementation "com.mikepenz:materialdrawer-iconics:${lastestMaterialDrawerRelease}"
日歷
CalendarView
專案簡介:Android上一個優雅、萬能自定義UI、支持周視圖、自定義周起始、性能高效的日歷控制元件,支持熱插拔實作的UI定制!
GitHub 🌟:7.5k
專案參考Blog:CalendarView使用詳細檔案
專案引入
dependencies {
...
implementation 'com.haibin:calendarview:3.6.8' // for support lib
implementation 'com.haibin:calendarview:3.7.1' // for androidx
}
高斯模糊
blurkit-android
專案簡介:Android上一個優雅、萬能自定義UI、支持周視圖、自定義周起始、性能高效的日歷控制元件,支持熱插拔實作的UI定制!
GitHub 🌟:3.4k
專案參考Blog:Usage
專案引入
dependencies {
...
implementation 'io.alterac.blurkit:blurkit:1.1.0'
}
webview
AgentWeb
專案簡介:AgentWeb is a powerful library based on Android WebView.
GitHub 🌟:8k
專案參考Blog:WebView 性能和用戶體驗優化
專案引入
dependencies {
...
implementation 'com.just.agentweb:agentweb:4.1.4' // (必選)
implementation 'com.just.agentweb:filechooser:4.1.4'// (可選)
implementation 'com.download.library:Downloader:4.1.4'// (可選) // for support lib
implementation 'com.just.agentweb:agentweb-androidx:4.1.4' // (必選)
implementation 'com.just.agentweb:filechooser-androidx:4.1.4'// (可選)
implementation 'com.download.library:downloader-androidx:4.1.4'// (可選) // for androidx
}
通信
ARouter
專案簡介:一個用于幫助 Android App 進行組件化改造的框架 —— 支持模塊間的路由、通信、解耦
GitHub 🌟:13k
專案參考Blog:ARouter/README_CN.md
專案引入
android {
defaultConfig {
...
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
}
}
}
}
dependencies {
// 替換成最新版本, 需要注意的是api
// 要與compiler匹配使用,均使用最新版可以保證兼容
compile 'com.alibaba:arouter-api:x.x.x'
annotationProcessor 'com.alibaba:arouter-compiler:x.x.x'
...
}
// 舊版本gradle插件(< 2.2),可以使用apt插件,配置方法見文末'其他#4'
// Kotlin配置參考文末'其他#5'
EventBus
專案簡介:Event bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality
GitHub 🌟:23.3k
專案參考Blog:Android EventBus 的使用
專案引入
implementation 'org.greenrobot:eventbus:3.2.0'
布局
vlayout
專案簡介:Project vlayout is a powerfull LayoutManager extension for RecyclerView, it provides a group of layouts for RecyclerView. Make it able to handle a complicate situation when grid, list and other layouts in the same recyclerview.
GitHub 🌟:10.7k
專案參考Blog:vlayout–讓你的多布局不再頭疼
專案引入
implementation ('com.alibaba.android:vlayout:1.2.8@aar') {
transitive = true
}
AndroidAutoSize
專案簡介:🔥 A low-cost Android screen adaptation solution (今日頭條螢屏適配方案終極版,一個極低成本的 Android 螢屏適配方案).
GitHub 🌟:11.3k
專案參考Blog:今日頭條螢屏適配方案終極版,一個極低成本的 Android 螢屏適配方案.
專案引入
dependencies {
...
implementation 'me.jessyan:autosize:1.2.1'
}
其它
BaseRecyclerViewAdapterHelper
專案簡介:BRVAH:Powerful and flexible RecyclerAdapter
GitHub 🌟:21.7k
專案參考Blog:BRVAH官網
專案引入
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4'
MultiLanguages
專案簡介:Android 多語言切換(兼容8.0+) 2.0版本,一句代碼完成多語言切換,現在支持第三方包里多語言切換(前提是有對應的語言資源)
GitHub 🌟:300
專案參考Blog:MultiLanguages/README_cn.md
專案引入
在APP的build.gradle檔案下引入gradle plugin
buildscript {
dependencies {
classpath 'com.github.jokar:multi-languages.plugin:<latest-version>'
}
}
在模塊的build.gradle檔案中引入plugin
apply plugin: 'multi-languages'
...
android{
defaultConfig {
multiLanguages {
//set plugin is enable( default)
enable = true
}
}
}
...
dependencies {
implementation 'com.github.jokar:multi-languages:<latest-version>'
}
QMUI_Android
專案簡介:提高 Android UI 開發效率的 UI 庫
GitHub 🌟:12.8k
專案參考Blog:QMUI_Android官網
專案引入
//最新的庫會上傳到 JCenter 倉庫上,請確保配置了 JCenter 倉庫源
dependencies {
...
implementation 'com.qmuiteam:qmui:2.0.0-alpha10'
}
SmartRefreshLayout
專案簡介:🔥下拉重繪、上拉加載、二級重繪、淘寶二樓、RefreshLayout、OverScroll,Android智能下拉重繪框架,支持越界回彈、越界拖動,具有極強的擴展性,集成了幾十種炫酷的Header和 Footer
GitHub 🌟:22.4k
專案參考Blog:Android智能下拉重繪框架-SmartRefreshLayout
專案引入
如果使用 AndroidX 先在 gradle.properties 中添加,兩行都不能少噢~
android.useAndroidX=true
android.enableJetifier=true
需要依賴 androidx.appcompat
implementation 'androidx.appcompat:appcompat:1.0.0' //必須 1.0.0 以上
implementation 'com.scwang.smart:refresh-layout-kernel:2.0.3' //核心必須依賴
implementation 'com.scwang.smart:refresh-header-classics:2.0.3' //經典重繪頭
implementation 'com.scwang.smart:refresh-header-radar:2.0.3' //雷達重繪頭
implementation 'com.scwang.smart:refresh-header-falsify:2.0.3' //虛擬重繪頭
implementation 'com.scwang.smart:refresh-header-material:2.0.3' //谷歌重繪頭
implementation 'com.scwang.smart:refresh-header-two-level:2.0.3' //二級重繪頭
implementation 'com.scwang.smart:refresh-footer-ball:2.0.3' //球脈沖加載
implementation 'com.scwang.smart:refresh-footer-classics:2.0.3' //經典加載
圖片
圖片加載
Glide
專案簡介:An image loading and caching library for Android focused on smooth scrolling
GitHub 🌟:31k
專案參考Blog:Glide使用總結
專案引入
implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
fresco
專案簡介:An Android library for managing images and the memory they use.
GitHub 🌟:16.5k
專案參考Blog:Fresco中文檔案
專案引入
dependencies {
...
implementation 'com.facebook.fresco:fresco:2.4.0'
}
Android-Universal-Image-Loader
專案簡介:Powerful and flexible library for loading, caching and displaying images on Android.
GitHub 🌟:16.8k
專案參考Blog:Home
專案引入
dependencies {
...
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
}
圖片處理
glide-transformations
專案簡介:An Android transformation library providing a variety of image transformations for Glide.
GitHub 🌟:9.3k
專案參考Blog:Glide-更多圖片變換,glide-transformations的使用(六)
專案引入
repositories {
mavenCentral()
}
dependencies {
...
implementation 'jp.wasabeef:glide-transformations:4.3.0'
// If you want to use the GPU Filters
implementation 'jp.co.cyberagent.android:gpuimage:2.1.0'
}
Luban
專案簡介:Luban(魯班)—Image compression with efficiency very close to WeChat Moments/可能是最接近微信朋友圈的圖片壓縮演算法
GitHub 🌟:12.4k
專案參考Blog:Android 圖片壓縮之-Luban的使用
專案引入
dependencies {
...
implementation 'top.zibin:Luban:1.1.8'
}
android-gpuimage
專案簡介:Android filters based on OpenGL (idea from GPUImage for iOS)
GitHub 🌟:7.8k
專案參考Blog:Usage
專案引入
repositories {
mavenCentral()
}
dependencies {
...
implementation 'jp.co.cyberagent.android:gpuimage:2.x.x'
}
視頻
播放器
ijkplayer
專案簡介:Android上一個優雅、萬能自定義UI、支持周視圖、自定義周起始、性能高效的日歷控制元件,支持熱插拔實作的UI定制!
GitHub 🌟:28.5k
專案參考Blog:Android 超好用的播放器——ijkplayer
專案引入
allprojects {
repositories {
jcenter()
}
}
dependencies {
# required, enough for most devices.
implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
implementation 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8'
# Other ABIs: optional
implementation 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.8'
implementation 'tv.danmaku.ijk.media:ijkplayer-arm64:0.8.8'
implementation 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.8'
implementation 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.8.8'
# ExoPlayer as IMediaPlayer: optional, experimental
implementation 'tv.danmaku.ijk.media:ijkplayer-exo:0.8.8'
}
GSYVideoPlayer
專案簡介:視頻播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS,支持彈幕,外掛字幕,支持濾鏡、水印、gif截圖,片頭廣告、中間廣告,多個同時播放,支持基本的拖動,聲音、亮度調節,支持邊播邊快取,支持視頻自帶rotation的旋轉(90,270之類),重力旋轉與手動旋轉的同步支持,支持串列播放 ,串列全屏影片,視頻加載速度,串列小視窗支持拖動,影片效果,調整比例,多解析度切換,支持切換播放器,進度條小視窗預覽,串列切換詳情頁面無縫播放,rtsp、concat、mpeg,
GitHub 🌟:16k
專案參考Blog:三種簡單的使用方法
專案引入
dependencies {
...
//A.完整版引入
implementation 'com.shuyu:GSYVideoPlayer:8.1.2'
//B.添加java和你想要的so支持
implementation 'com.shuyu:gsyVideoPlayer-java:8.1.2'
//是否需要ExoPlayer模式
implementation 'com.shuyu:GSYVideoPlayer-exo2:8.1.2'
//根據你的需求ijk模式的so
implementation 'com.shuyu:gsyVideoPlayer-armv5:8.1.2'
implementation 'com.shuyu:gsyVideoPlayer-armv7a:8.1.2'
implementation 'com.shuyu:gsyVideoPlayer-arm64:8.1.2'
implementation 'com.shuyu:gsyVideoPlayer-x64:8.1.2'
implementation 'com.shuyu:gsyVideoPlayer-x86:8.1.2'
//C.支持其他格式協議的(mpeg,rtsp, concat、crypto協議)
//A、B普通版本支持263/264/265等,對于mpeg編碼會有聲音無畫面情況, C 引入的so支持mpeg編碼和其他補充協議,但是so包相對變大,
implementation 'com.shuyu:gsyVideoPlayer-java:8.1.2'
//是否需要ExoPlayer模式
implementation 'com.shuyu:GSYVideoPlayer-exo2:8.1.2'
//更多ijk的編碼支持
implementation 'com.shuyu:gsyVideoPlayer-ex_so:8.1.2'
}
網路
json
gson
專案簡介:A Java serialization/deserialization library to convert Java Objects into JSON and back
GitHub 🌟:19.4k
專案參考Blog:GSON
專案引入
implementation 'com.google.code.gson:gson:2.8.6'
fastjson
專案簡介:A fast JSON parser/generator for Java.
GitHub 🌟:23.2k
專案參考Blog:Quick Start CN
專案引入
dependencies {
...
implementation 'com.alibaba:fastjson:1.1.72.android'
}
框架
retrofit
專案簡介:A type-safe HTTP client for Android and Java.
GitHub 🌟:37.9k
專案參考Blog:Retrofit官網
專案引入
implementation 'com.squareup.retrofit2:retrofit:(insert latest version)'
okhttp
專案簡介:Square’s meticulous HTTP client for the JVM, Android, and GraalVM.
GitHub 🌟:39.7k
專案參考Blog:OkHttp
專案引入
dependencies {
...
implementation("com.squareup.okhttp3:okhttp:4.9.1")
}
volley
專案簡介:Volley is an HTTP library that makes networking for Android apps easier and, most importantly, faster.
GitHub 🌟:3k
專案參考Blog:Android Volley使用(一)Volley的基本用法
專案引入
dependencies {
...
implementation 'com.android.volley:volley:1.2.0'
}
Java-WebSocket
專案簡介:A barebones WebSocket client and server implementation written in 100% Java.
GitHub 🌟:7.9k
專案參考Blog:java WebSocket開發入門WebSocket
專案引入
dependencies {
...
implementation 'org.java-websocket:Java-WebSocket:1.5.1'
}
檔案下載
FileDownloader
專案簡介:Android 檔案下載引擎,穩定、高效、靈活、簡單易用
GitHub 🌟:10.1k
專案參考Blog:FileDownloader
專案引入
dependencies {
...
implementation 'com.liulishuo.filedownloader:library:1.7.7'
}
okdownload
專案簡介:可靠,靈活,高性能以及強大的下載引擎,
GitHub 🌟:4.2k
專案參考Blog:Simple Use Guideline
專案引入
dependencies {
...
// core
com.liulishuo.okdownload:okdownload:{latest_version}
// provide sqlite to store breakpoints
com.liulishuo.okdownload:sqlite:{latest_version}
// provide okhttp to connect to backend
// and then please import okhttp dependencies by yourself
com.liulishuo.okdownload:okhttp:{latest_version}
// provide interface to match filedownloader
com.liulishuo.okdownload:filedownloader:{latest_version}
// provide interface for kotlin extension
com.liulishuo.okdownload:ktx{latest_version}
}
PRDownloader
專案簡介:A file downloader library for Android with pause and resume support
GitHub 🌟:2.8k
專案參考Blog:安卓檔案下載庫 | PRDownloader
專案引入
dependencies {
...
implementation 'com.mindorks.android:prdownloader:0.6.0'
}
存盤
MMKV
專案簡介:MMKV 是基于 mmap 記憶體映射的 key-value 組件,底層序列化/反序列化使用 protobuf 實作,性能高,穩定性強,可以替代SharedPreferences
GitHub 🌟:12.4k
專案參考Blog:MMKV——1.使用、MMKV——2.原理
專案引入
implementation 'com.tencent:mmkv-static:1.2.7'
// replace "1.2.7" with any available version
優化
leakcanary
專案簡介:A memory leak detection library for Android
GitHub 🌟:25.9k
專案參考Blog:LeakCanary官網
專案引入
// debugImplementation because LeakCanary should only run in debug builds.
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'
日志
logger
專案簡介:Simple, pretty and powerful logger for android
GitHub 🌟:12.1k
專案參考Blog:Android 日志記錄雜談-Logger,Timber,logback-android
專案引入
implementation 'com.orhanobut:logger:2.2.0'
timber
專案簡介:A logger with a small, extensible API which provides utility on top of Android’s normal Log class.
GitHub 🌟:8.8k
專案參考Blog:1.Timber: Android日志記錄 2.Android 日志記錄雜談-Logger,Timber,logback-android
專案引入
implementation 'com.jakewharton.timber:timber:4.7.1'
權限
PermissionX
專案簡介:PermissionX is an extension Android library that makes Android runtime permission request extremely easy
GitHub 🌟:1.6k
專案參考Blog:PermissionX-作者:guolin
專案引入
implementation 'com.permissionx.guolindev:permissionx:1.4.0'
不再推薦
以下條目是因GitHub更新時間過久、已停止維護、有更好替代品等原因被推薦替換的專案
GitHub更新時間過久:GitHub上次更新時間過久,作者可能已經放棄維護,使用時可能會產生BUG,請謹慎考慮使用
已停止維護:作者已明確宣告專案停止維護,不再提供功能更新、BUG修復,不推薦使用此類專案
有更好替代品:此類專案仍然推薦使用,但有更好的開源框架或者官方庫可以替代
條目詳細格式如下:
框架/組件 //框架或組件的Github地址,點擊查看
GitHub 🌟: //GitHub star星數
GitHub更新時間 //GitHub上次更新時間
Releases最新版本: //GitHub上最新的Releases版本
不再推薦原因: //因某種原因,推薦使用其它框架或組件替換
替代框架: //推薦使用的替代框架或組件
AndroidEventBus
GitHub 🌟:1.6k
GitHub更新時間:2018年3月
Releases最新版本:2015年5月 Version-1.0.4
不推薦原因:已停止維護[DEPRECATED]
替代框架:無
BadgeView
GitHub 🌟:3.9k
GitHub更新時間:2017年4月
Releases最新版本:2017年9月 Version-1.1.3
不推薦原因:已停止維護[DEPRECATED]
替代框架:無
ButterKnife
GitHub 🌟:25.7k
GitHub更新時間:2020年9月
Releases最新版本:2020年8月 Version-10.2.3
不推薦原因:已停止維護[DEPRECATED]
替代框架:官方JetPack庫的DataBinding、官方的ViewBinding
CardSwipeLayout
GitHub 🌟:1.1k
GitHub更新時間:2017年3月
Releases最新版本:無Release版本
不推薦原因:GitHub更新時間過久
替代框架:無
greenDAO
GitHub 🌟:12.4k
GitHub更新時間:2021年2月
Releases最新版本:2020年5月 Version-3.3.0
不推薦原因:使用比較復雜,有更好替代品
替代框架:官方JetPack庫的Room、郭霖大神的LitPal
MVPArms
GitHub 🌟:10k
GitHub更新時間:2020年6月
Releases最新版本:2019年7月 Version-2.5.2
不推薦原因:有更好的替代品
替代框架:官方推薦的MVVM架構,配合JetPack可以很輕松搭建MVVM架構,使用官方JetPack庫搭建MVVM架構
NineOldAndroids
GitHub 🌟:4.5k
GitHub更新時間:2014年10月
Releases最新版本:2012年6月 Version-2.4.0
不推薦原因:已停止維護[DEPRECATED]
替代框架:無
NumberProgressBar
GitHub 🌟:5.9k
GitHub更新時間:2017年7月
Releases最新版本:2014年8月 Version-1.2
不推薦原因:GitHub更新時間過久
替代框架:無
picasso
GitHub 🌟:17.9k
GitHub更新時間:2020年9月
Releases最新版本:2020年8月 Version-2.8
不推薦原因:有更好的替代品
替代框架:Glide
ViewPagerIndicator
GitHub 🌟:368
GitHub更新時間:2019年8月
Releases最新版本:2019年8月 Version-0.3.0
不推薦原因:有更好的替代品
替代框架:MagicIndicatorhttps://github.com/hackware1993/MagicIndicator)
Matisse
GitHub 🌟:11.9
GitHub更新時間:2019年10月
Releases最新版本:2019年8月 Version-0.3.0
不推薦原因:已停止維護[DEPRECATED]
替代框架:PictureSelector
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/274426.html
標籤:其他
