本系列其他翻译
架构组件可以从Google的Maven仓库获取。只需以下步骤:
android studio项目默认配置中,是没有添加google maven仓库的。
所以先要添加该仓库,打开项目的build.gradle文件(注意,不是app module下那个),并且将以下高亮的代码加入,如下所示:
allprojects {
repositories {
jcenter()
google()
}
}
打开app module下的build.gradle文件,在dependencies中按需添加组件,你可以添加全部,也可以只添加一部分。
注意:如果是基于Kotlin的应用,要确保使用
kapt
而不是annotationProcessor
。所以,这时你也应该添加kotlin-kapt
插件
包括:Lifecycles, LiveData, ViewModel, Room, 和Paging
同时,也可以添加测试工具,用来测试LiveData以及 测试Room migrations.
dependencies {
// ViewModel 和 LiveData
implementation "android.arch.lifecycle:extensions:1.1.1"
// 可选, 只包括 ViewModel
implementation "android.arch.lifecycle:viewmodel:1.1.1"
// 可选, 只包括 LiveData
implementation "android.arch.lifecycle:livedata:1.1.1"
annotationProcessor "android.arch.lifecycle:compiler:1.1.1"
// Room (use 1.1.0-beta2 for latest beta)
implementation "android.arch.persistence.room:runtime:1.0.0"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0"
// Paging
implementation "android.arch.paging:runtime:1.0.0-beta1"
// LiveData的测试辅助工具
testImplementation "android.arch.core:core-testing:1.1.1"
//Room的测试辅助工具
testImplementation "android.arch.persistence.room:testing:1.0.0"
}
如果你的app使用Java8,我们推荐你使用下面这个库,而不是上面的android.arch.lifecycle:compiler
.
dependencies {
// Java8 support for Lifecycles
implementation "android.arch.lifecycle:common-java8:1.1.1"
}
针对 Room RxJava 和 LiveData ReactiveStreams的支持,可选
dependencies {
// Room的RxJava支持 (use 1.1.0-beta2 for latest alpha)
implementation "android.arch.persistence.room:rxjava2:1.0.0"
// LiveData的 ReactiveStreams支持
implementation "android.arch.lifecycle:reactivestreams:1.1.1"
//Paging的 RxJava 支持
implementation "android.arch.paging:rxjava2:1.0.0-alpha1"
}
为Guava的 Optional
和 ListenableFuture
类型添加支持。他们可在Room @Dao
查询中用到。
dependencies {
// Room 的 Guava支持
implementation "android.arch.persistence.room:guava:1.1.0-beta1"
}
dependencies {
// 只有Lifecycles (不包含ViewModel和LiveData)
implementation "android.arch.lifecycle:runtime:1.1.1"
annotationProcessor "android.arch.lifecycle:compiler:1.1.1"
}
更多信息,见Add Build Dependencies.