如何将Room Persistence Library导入Android项目

Fra*_*cia 45 sqlite android android-sqlite android-room

我最近看到Google I/O Room Persistence Library上宣布的新功能与Android上的Sqlite数据库一起使用.我一直在寻找官方文档,我没有找到我应该导入到我的Android项目上的gradle文件的依赖项.有人可以帮个忙吗?

Fra*_*cia 46

可以在新架构组件的示例代码库中找到依赖关系.

根 :

allprojects {
repositories {
    jcenter()
    maven {
        url "https://maven.google.com"
    }
}
Run Code Online (Sandbox Code Playgroud)

房间:

  implementation 'android.arch.persistence.room:runtime:1.0.0-alpha1'
  annotationProcessor 'android.arch.persistence.room:compiler:1.0.0-alpha1'
Run Code Online (Sandbox Code Playgroud)

对于生命周期依赖项:

  implementation 'android.arch.lifecycle:extensions:1.0.0-alpha1'
  annotationProcessor 'android.arch.lifecycle:compiler:1.0.0-alpha1'
Run Code Online (Sandbox Code Playgroud)

为我们的查询添加Rxjava2对象:

  implementation 'android.arch.persistence.room:rxjava2:1.0.0-alpha1'
Run Code Online (Sandbox Code Playgroud)

测试迁移:

  testImplementation'android.arch.persistence.room:testing:1.0.0-alpha1'
Run Code Online (Sandbox Code Playgroud)


pco*_*ion 7

在您的项目根目录上, build.gradle您必须添加Google的maven存储库:

allprojects {
    repositories {
        jcenter()
        maven {
            // For Room Persistence Library
            url "https://maven.google.com"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在build.gradle对的模块,你应该加上:

compile 'android.arch.persistence.room:runtime:1.0.0-alpha1'
annotationProcessor 'android.arch.persistence.room:compiler:1.0.0-alpha1'
compile 'android.arch.lifecycle:extensions:1.0.0-alpha1'
annotationProcessor 'android.arch.lifecycle:compiler:1.0.0-alpha1'
compile 'android.arch.persistence.room:rxjava2:1.0.0-alpha1'
testCompile'android.arch.persistence.room:testing:1.0.0-alpha1'
Run Code Online (Sandbox Code Playgroud)

如果要根据查询使用RxJava2 PublisherFlowable对象,请添加此项

compile 'android.arch.persistence.room:rxjava2:1.0.0-alpha1'
Run Code Online (Sandbox Code Playgroud)

最后添加此依赖项以测试迁移

testCompile'android.arch.persistence.room:testing:1.0.0-alpha1'
Run Code Online (Sandbox Code Playgroud)

更新:库仍然标记为Alpha1所以我想版本号将很快更新,也许使用,1.0.+直到有最终版本可能是一个好主意已更新和定义在您可以使用room 1.1.1此依赖项的文档:

dependencies {
   def room_version = "1.1.1"

   implementation "android.arch.persistence.room:runtime:$room_version"
   annotationProcessor "android.arch.persistence.room:compiler:$room_version" // use kapt for Kotlin

   // optional - RxJava support for Room
   implementation "android.arch.persistence.room:rxjava2:$room_version"

   // optional - Guava support for Room, including Optional and ListenableFuture
   implementation "android.arch.persistence.room:guava:$room_version"

   // Test helpers
   testImplementation "android.arch.persistence.room:testing:$room_version"
}
Run Code Online (Sandbox Code Playgroud)


Raj*_*rma 5

试试这个来编译Room Persistence库

implementation 'android.arch.persistence.room:runtime:1.1.1';
annotationProcessor 'android.arch.persistence.room:compiler:1.1.1';
Run Code Online (Sandbox Code Playgroud)

并在根级别构建gradle中添加

allprojects {
repositories {
    jcenter()
    maven {
        url "https://maven.google.com"
    }
}
Run Code Online (Sandbox Code Playgroud)


Zim*_*ger 5

Android文档

添加Google Maven存储库默认情况下,未配置Android Studio项目访问该存储库。

要将其添加到项目中,请打开项目的build.gradle文件(而不是应用程序或模块的build.gradle文件),然后添加突出显示的行,如下所示:

allprojects {
repositories {
    jcenter()
    maven { url 'https://maven.google.com' }
    }
}
Run Code Online (Sandbox Code Playgroud)

添加架构组件

打开您的应用程序或模块的build.gradle文件,并添加所需的工件作为依赖项:

对于生命周期,LiveData和ViewModel,添加:

implementation "android.arch.lifecycle:runtime:1.0.0-alpha1"
implementation "android.arch.lifecycle:extensions:1.0.0-alpha1"
annotationProcessor "android.arch.lifecycle:compiler:1.0.0-alpha1"
Run Code Online (Sandbox Code Playgroud)

对于房间,添加:

implementation "android.arch.persistence.room:runtime:1.0.0-alpha1"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha1"
Run Code Online (Sandbox Code Playgroud)


sud*_*esh 5

打开build.gradle(Project: projectName)并添加此行(如果它不存在)。

这允许访问谷歌存储库

allprojects {
repositories {
    jcenter()
    google()
 }
}
Run Code Online (Sandbox Code Playgroud)

接下来打开build.gradle(Module:app)并将这两行添加到现有依赖项中

对于 Java

def room_version = "1.1.0"
implementation "android.arch.persistence.room:runtime:$room_version"
annotationProcessor "android.arch.persistence.room:compiler:$room_version"
Run Code Online (Sandbox Code Playgroud)

对于科特林

将此行粘贴到应用 kotlin 插件的顶部的依赖项或 android 范围之外

apply plugin: 'kotlin-kapt'
Run Code Online (Sandbox Code Playgroud)

将此行添加到依赖项

def room_version = "1.1.0"
implementation "android.arch.persistence.room:runtime:$room_version"
kapt "android.arch.persistence.room:compiler:$room_version"
Run Code Online (Sandbox Code Playgroud)

要让自己了解最近的依赖项版本,请访问mvn 存储库以获取房间

在这里您将找到最新版本。 在此处输入图片说明


Rad*_*esh 5

对于androidX和 kapt

def room_version = "2.2.5"
implementation "androidx.room:room-runtime:$room_version"
implementation "androidx.room:room-rxjava2:$room_version"
kapt "androidx.room:room-compiler:$room_version"
Run Code Online (Sandbox Code Playgroud)