收集了常用的開源庫(kù)的比較穩(wěn)定的版本
俗稱黃油刀搪桂,view綁定ID神器
dependencies {
compile 'com.jakewharton:butterknife:8.7.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.7.0'
}
最新版使用了預(yù)編譯技術(shù)大大提高了注解模式的效率
使用方法:在Project的build.gradle里
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.jakewharton:butterknife-gradle-plugin:8.7.0'
}
}
module的build.gradle里加入
apply plugin: 'com.jakewharton.butterknife'
...
...
dependencies {
compile 'com.jakewharton:butterknife:8.7.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.7.0'
}
具體code中使用方式:http://jakewharton.github.io/butterknife/
8.7版本官方使用說(shuō)明,右鍵保存
http://upload-images.jianshu.io/upload_images/3515789-172e559b1a0275f3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
或者可以使用舊版测垛,沒有預(yù)編譯的版本
compile 'com.jakewharton:butterknife:7.0.1'
2 retrofit
集成了okhttp
retrofit2:adapter-rxjava2官網(wǎng)
//這個(gè)包里集成了okhttp3.6
compile 'com.squareup.retrofit2:retrofit:2.2.0'
//使retrofit2支持gson的轉(zhuǎn)換
compile 'com.squareup.retrofit2:converter-gson:2.2.0'
//Retrofit對(duì)Rxjava的支持
compile 'com.squareup.retrofit2:adapter-rxjava2:2.2.0'
RxJava針對(duì)Android的版本
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
// Because RxAndroid releases are few and far between, it is recommended you also
// explicitly depend on RxJava's latest version for bug fixes and new features.
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
4 glide
一行代碼顯示圖片萝究,已經(jīng)更新了V4穩(wěn)定版,具體用法看官網(wǎng)
Glide.with(this).load("http://goo.gl/gEgYUd").into(imageView);
compile 'com.github.bumptech.glide:glide:3.7.0'
5 Android-ObservableScrollView
可以實(shí)現(xiàn)CoordinatorLayout+Behavior的效果廊酣,類似知乎首頁(yè)能耻,隱藏標(biāo)題欄,操作欄
compile 'com.github.ksoichiro:android-observablescrollview:1.6.0'
解決RxJava內(nèi)存泄露問題,用來(lái)嚴(yán)格控制由于發(fā)布了一個(gè)訂閱后晓猛,由于沒有及時(shí)取消饿幅,導(dǎo)致Activity/Fragment無(wú)法銷毀導(dǎo)致的內(nèi)存泄露 。
//包含了RxJAVA2.0.1和Rxandroid2.0.1
compile 'com.trello.rxlifecycle2:rxlifecycle:2.0.1'
compile 'com.trello.rxlifecycle2:rxlifecycle-components:2.0.1'
錯(cuò)誤解決方法=渲啊@醵鳌!:樵铩?某印!
警告:Conflict with dependency 'com.google.code.findbugs:jsr305'. Resolved versions for app (3.0.1) and test app (2.0.1) differ. See http://g.co/androidstudio/app-test-app-conflict for details.
//強(qiáng)制test使用3.0.1版本的捧韵,每個(gè)gradle都要寫
androidTestCompile 'com.google.code.findbugs:jsr305:3.0.1'
RecycView二次封裝市咆,高度自定義
compile 'com.jcodecraeer:xrecyclerview:1.3.2'
注意recyclerView.refreshComplete();
的使用要放在adapter數(shù)據(jù)更新后(未知bug)
project gradle中
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
Gradle
dependencies {
compile 'com.github.lzyzsd:circleprogress:1.2.1'
}
9 EventBus
神器啊,既能訂閱前發(fā)送信息給訂閱者再来,又能訂閱后再發(fā)送信息給訂閱者蒙兰,耦合幾乎為0。
compile 'org.greenrobot:eventbus:3.0.0'
UltraViewPager是一個(gè)封裝多種特性的ViewPager芒篷,主要是為多頁(yè)面切換場(chǎng)景提供統(tǒng)一解決方案搜变。阿里出品。
compile ('com.alibaba.android:ultraviewpager:1.0.4@aar') {
transitive = true
}
Indicator 取代 tabhost针炉,實(shí)現(xiàn)網(wǎng)易頂部tab挠他,新浪微博主頁(yè)底部tab,引導(dǎo)頁(yè)糊识,無(wú)限輪播banner等效果绩社,高度自定義tab和特效。是一個(gè)很強(qiáng)大的庫(kù)赂苗,從某個(gè)角度上包含了10的功能
compile 'com.shizhefei:ViewPagerIndicator:1.1.6'
由于用到了v4和recyclerview所以也要導(dǎo)入他們
compile 'com.android.support:support-v4:23.4.0'
compile 'com.android.support:recyclerview-v7:23.4.0'
用編譯時(shí)注解實(shí)現(xiàn)動(dòng)態(tài)權(quán)限申請(qǐng)的開源庫(kù)愉耙,讓你面對(duì)API 23+也能保持代碼整潔高效。github上star有5000+
app module build.gradle file中:
compile("com.github.hotchemi:permissionsdispatcher:2.4.0") {
// if you don't use android.app.Fragment you can exclude support for them
exclude module: "support-v13"
}
annotationProcessor "com.github.hotchemi:permissionsdispatcher-processor:2.4.0"
Snapshots of the development version are available in JFrog's snapshots repository. Add the repo below to download SNAPSHOT releases.
repositories {
jcenter()
maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local/' }
13 greenDAO
greenDAO is a light & fast ORM for Android that maps objects to SQLite databases. Being highly optimized for Android, greenDAO offers great performance and consumes minimal memory.
主頁(yè):http://greenrobot.org/greendao/
// In your root build.gradle file:
buildscript {
repositories {
jcenter()
mavenCentral() // add repository
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.1'
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin
}
}
// In your app projects build.gradle file:
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao' // apply plugin
dependencies {
compile 'org.greenrobot:greendao:3.2.2' // add library
}
未完