記一些專案中遇到的自定義元件或框架 條目格式如下:
框架/元件 //框架或元件的Github地址,可以點選檢視
專案簡介: //框架或元件的簡介
專案參考Blog: //框架或元件可以參考如何使用的Blog
**專案使用** //配置或新增框架、元件依賴
implementation 'xx.xxx:xxx:x.x.x'
複製程式碼
框架
MVP框架 MVPArms
專案簡介:MVPArms 是一個整合了大量主流開源專案的 Android MVP 快速搭建框架, 其中包含 Dagger2、Retrofit、RxJava 以及 RxLifecycle、RxCache 等 Rx 系三方庫, 並且提供 UI 自適應方案, 本框架將它們結合起來, 並全部使用 Dagger2 管理並提供給開發者使用, 使用本框架開發您的專案, 就意味著您已經擁有一個 MVP + Dagger2 + Retrofit + RxJava 專案 專案參考Blog:MVPArms MVP快速整合框架 專案使用
implementation 'me.jessyan:arms:2.5.2'
---------------------- 以下是擴充套件庫 ----------------------
//想使用 Glide 請依賴 arms-imageloader-glide 擴充套件庫, 使用方式請看 #4.1
implementation 'me.jessyan:arms-imageloader-glide:2.5.2'
//想使用 AndroidAutoLayout 請依賴 arms-autolayout 擴充套件庫, 使用方式請檢視 #4.2
implementation 'me.jessyan:arms-autolayout:2.5.2'
複製程式碼
greenDAO
專案簡介:greenDAO是一款開源的面向 Android 的輕便、快捷的 ORM 框架,將 Java 物件對映到SQLite資料庫中 專案參考Blog:一篇技術好文之Android資料庫 GreenDao的使用完全解析 專案使用
//匯入外掛
// 在 Project的build.gradle 檔案中新增:
buildscript {
repositories {
jcenter()
mavenCentral() // add repository
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin
}
}
複製程式碼
//配置相關依賴
// 在 Moudle:app的 build.gradle 檔案中新增:
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao' // apply plugin
dependencies {
implementation 'org.greenrobot:greendao:3.2.2' // add library
}
複製程式碼
//配置資料庫相關資訊
greendao {
schemaVersion 1 //資料庫版本號
daoPackage 'com.aserbao.aserbaosandroid.functions.database.greenDao.db'
// 設定DaoMaster、DaoSession、Dao 包名
targetGenDir 'src/main/java'//設定DaoMaster、DaoSession、Dao目錄,請注意,這裡路徑用/不要用.
generateTests false //設定為true以自動生成單元測試。
targetGenDirTests 'src/main/java' //應儲存生成的單元測試的基本目錄。預設為 src / androidTest / java。
}
複製程式碼
ButterKnife
專案簡介:Field and method binding for Android views 專案參考Blog:1.Android Butterknife(黃油刀) 使用方法總結 2.ButterKnife的使用 專案使用
//使用android support庫請依賴8.81版本
impelementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
//使用androidx庫請依賴10.0.0版本
impelementation 'com.jakewharton:butterknife:10.0.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
複製程式碼
File -> Settings -> Plugins -> 搜尋ButterKnife,找到Android ButterKnife Zeleany進行安裝重啟AndroidStudio
複製程式碼
BaseRecyclerViewAdapterHelper
專案簡介:BRVAH:Powerful and flexible RecyclerAdapter 專案參考Blog:BRVAH官網 專案使用
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.47'
複製程式碼
gson
專案簡介:A Java serialization/deserialization library to convert Java Objects into JSON and back 專案參考Blog:GSON 專案使用:
implementation 'com.google.code.gson:gson:2.8.5'
複製程式碼
Glide
專案簡介:An image loading and caching library for Android focused on smooth scrolling 專案參考Blog:Glide使用總結 專案使用
implementation 'com.github.bumptech.glide:glide:4.5.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0'
複製程式碼
picasso
專案簡介:A powerful image downloading and caching library for Android 專案參考Blog:圖片載入框架-Picasso最詳細的使用指南 專案使用
implementation 'com.squareup.picasso:picasso:2.5.2'
複製程式碼
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. 專案參考Blog:vlayout--讓你的多佈局不再頭疼 專案使用
implementation ('com.alibaba.android:vlayout:1.2.8@aar') {
transitive = true
}
複製程式碼
元件
RoundedImageView
專案簡介:A fast ImageView that supports rounded corners, ovals, and circles. 專案參考Blog:Android 第三方RoundedImageView設定各種圓形、方形頭像 專案使用
implementation 'com.makeramen:roundedimageview:2.3.0'
複製程式碼
PictureSelector
專案簡介:Picture Selector Library for Android or 多圖片選擇器 專案參考Blog:Android 選擇圖片、上傳圖片之PictureSelector 專案使用
implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.4.6'
複製程式碼
CardSwipeLayout
專案簡介:Use RecyclerView to achieve card swipe layout , like Tantan . (模仿探探卡片滑動效果的佈局) 專案參考Blog:CardSwipeLayout 專案使用
implementation 'me.yuqirong:cardswipelayout:1.0.0'
複製程式碼
ViewPagerIndicator
專案簡介:一個簡單好用的ViewPagerIndicator,提供了六種型別,為viewpager新增酷炫效果,並且支援輪播圖( A simple, cool, customizable ViewPagerIndicator.show cool indicator for viewpager , it also good for viewpager as carousel ) 專案參考Blog:ViewPagerIndicator中文文件
專案使用
//androidx
implementation 'com.github.LinweiJ:ViewPagerIndicator:0.3.0'
複製程式碼
//android support
implementation 'com.github.LinweiJ:ViewPagerIndicator:0.2.0'
複製程式碼
BadgeView
專案簡介:支援自由定製外觀、拖拽消除的MaterialDesign風格Android BadgeView 專案參考Blog:android實現小圓點顯示未讀功能 專案使用
implementation 'q.rorbin:badgeview:1.1.3'
複製程式碼
BaseDialog
專案簡介:Android BaseDialog(開發必備)動畫、載入進度、陰影、上下左右中 進入 專案參考Blog:Android BaseDialog(開發必備)動畫、載入進度、陰影 專案使用
implementation 'com.github.AnJiaoDe:BaseDialog:V1.1.8'
複製程式碼
Android-PickerView
專案簡介:This is a picker view for android , support linkage effect, timepicker and optionspicker.(時間選擇器、省市區三級聯動) 專案參考Blog:PickerView--仿ios滾輪時間選擇、城市選擇效果 專案使用
implementation 'com.contrarywind:Android-PickerView:4.1.9'
複製程式碼
PhotoView
專案簡介:Implementation of ImageView for Android that supports zooming, by various touch gestures. 專案參考Blog:Android UI Libs之PhotoView 專案使用
implementation 'com.github.chrisbanes:PhotoView:latest.release.here'
複製程式碼
NumberProgressBar
專案簡介:A beautiful, slim Android ProgressBar. 專案參考Blog:Android UI Libs之NumberProgressBar 專案使用
implementation 'com.daimajia.numberprogressbar:library:1.4@aar'
複製程式碼
NineOldAndroids
專案簡介:[DEPRECATED] Android library for using the Honeycomb animation API on all versions of the platform back to 1.0! 專案參考Blog:Android動畫進階—使用開源動畫庫nineoldandroids 專案使用
implementation 'com.nineoldandroids:library:2.4.0'
複製程式碼
Paginate
專案簡介:Android library for creating simple pagination functionality (aka infinite scrolling) upon RecyclerView or AbsListView. 專案參考Blog:Paginate 專案使用
implementation 'com.github.markomilos:paginate:0.5.1'
複製程式碼
timber
專案簡介:A logger with a small, extensible API which provides utility on top of Android's normal Log class. 專案參考Blog:1.Timber: Android日誌記錄 2.Android 日誌記錄雜談-Logger,Timber,logback-android 專案使用
implementation 'com.jakewharton.timber:timber:4.5.1'
複製程式碼
logger
專案簡介:Simple, pretty and powerful logger for android 專案參考Blog:Android 日誌記錄雜談-Logger,Timber,logback-android 專案使用
implementation 'com.orhanobut:logger:2.2.0'
複製程式碼
AndroidEventBus
專案簡介:[DEPRECATED] A lightweight eventbus library for android, simplifies communication between Activities, Fragments, Threads, Services, etc. 專案參考Blog:AndroidEventBus(事件匯流排)瞭解+實戰體驗 專案使用
implementation 'org.simple:androideventbus:1.0.5.1'
複製程式碼
EventBus
專案簡介:Event bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality. 專案參考Blog:Android EventBus 的使用 專案使用
implementation 'org.greenrobot:eventbus:3.1.1'
複製程式碼