天天看點

Android Arch Comp - Adding Components to your ProjectAdding Components to your Project

Adding Components to your Project

項目中添加架構元件

注:架構元件目前還在處于開發維護當中。預計會在1.0 Release版本發出後使之穩定。

目前可以通過Google Maven倉庫擷取架構元件。通過以下幾步就可以使用:

Add the Google Maven repository

添加谷歌Maven倉庫

預設情況下,Android Studio項目是不會配置的。

如果要加入此倉庫,打開項目的build.gradle(不是子產品的build.gradle),将下面高亮的部分加入到你的配置檔案中。

allprojects {
    repositories {
        jcenter()
        maven { url 'https://maven.google.com' }
    }
}
           

Add Architecture Components

添加架構元件

打開子產品的build.gradle檔案,添加需要的依賴:

- Lifecycles, LiveData, ViewModel

  • implementation “android.arch.lifecycle:runtime:1.0.0” // not necessary if you are using Support Library 26.1+
  • implementation “android.arch.lifecycle:extensions:1.0.0-beta2”
  • annotationProcessor “android.arch.lifecycle:compiler:1.0.0-beta2” // not needed if you are using the DefaultLifecycleObserver from common-java8 artifact.
  • implementation “android.arch.lifecycle:common-java8:1.0.0-beta2” // Java8 語言支援
  • testImplementation “android.arch.core:core-testing:1.0.0-beta2” // 在測試中控制LiveData背景線程
  • implementation “android.arch.lifecycle:reactivestreams:1.0.0-beta2” // 支援在LiveData中使用ReactiveStreams API

- Room

  • implementation “android.arch.persistence.room:runtime:1.0.0-beta2”
  • annotationProcessor “android.arch.persistence.room:compiler:1.0.0-beta2”
  • testImplementation “android.arch.persistence.room:testing:1.0.0-beta2” // 測試Room
  • implementation “android.arch.persistence.room:rxjava2:1.0.0-beta2” // 為Room添加Rxjava支援

- Paging

  • implementation “android.arch.paging:runtime:1.0.0-alpha2”

例如:

compile 'com.android.support:appcompat-v7:26.1.0'
    compile 'com.squareup.okhttp3:okhttp:3.8.1'
    testCompile 'junit:junit:4.12'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.google.code.gson:gson:2.8.0'
    compile 'com.android.support:design:26.1.0'

    // lifecycle
    compile "android.arch.lifecycle:runtime:1.0.0"
    compile "android.arch.lifecycle:extensions:1.0.0-alpha9-1"
    annotationProcessor 'android.arch.lifecycle:compiler:1.0.0-alpha9-1'

    compile "android.arch.persistence.room:runtime:1.0.0-alpha9-1"
    annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha9-1"
    compile "android.arch.persistence.room:rxjava2:1.0.0-alpha9-1"
           

更多資訊請參考Add Build Dependencies