Как импортировать библиотеку сохранения пространства в проект Android

Недавно я увидел, что новая функция, объявленная в библиотеке Persistence Library I/O Room, работает с базами данных Sqlite на Android. Я искал официальную документацию и я не могу найти, какие зависимости я должен импортировать в мой файл gradle в моем проекте Android. Кто-то может дать мне руку?

Ответы

Ответ 1

Можно найти зависимости на примере кода для новых компонентов архитектуры.

Корень:

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

Для комнаты:

  implementation 'android.arch.persistence.room:runtime:1.0.0-alpha1'
  annotationProcessor 'android.arch.persistence.room:compiler:1.0.0-alpha1'

Для зависимостей жизненного цикла:

  implementation 'android.arch.lifecycle:extensions:1.0.0-alpha1'
  annotationProcessor 'android.arch.lifecycle:compiler:1.0.0-alpha1'

Добавление объектов Rxjava2 в качестве результата для наших запросов:

  implementation 'android.arch.persistence.room:rxjava2:1.0.0-alpha1'

Тестовые миграции:

  testImplementation'android.arch.persistence.room:testing:1.0.0-alpha1'

Ответ 2

В вашем проекте root build.gradle вы должны добавить репозиторий Google Maven:

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

А затем в build.gradle модуля Module вы должны добавить:

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'

Добавьте это, если хотите использовать объекты RxJava2 Publisher и Flowable в результате ваших запросов

compile 'android.arch.persistence.room:rxjava2:1.0.0-alpha1'

И, наконец, добавьте также эту зависимость в тестовые миграции

testCompile'android.arch.persistence.room:testing:1.0.0-alpha1'

Обновление: библиотеки по-прежнему помечены как 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"
}

Ответ 3

Попробуйте сделать это, чтобы скомпилировать библиотеку Room Persistence

implementation 'android.arch.persistence.room:runtime:1.1.1';
annotationProcessor 'android.arch.persistence.room:compiler:1.1.1';

И добавьте это в Gradle сборки корневого уровня

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

Ответ 4

Документ для Android:

Добавьте репозиторий Google Maven Проекты Android Studio не настроены для доступа к этому хранилищу по умолчанию.

Чтобы добавить его в свой проект, откройте файл build.gradle для своего проекта (а не для вашего приложения или модуля) и добавьте выделенную строку, как показано ниже:

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

Добавить компоненты архитектуры

Откройте файл 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"

Для комнаты добавьте:

implementation "android.arch.persistence.room:runtime:1.0.0-alpha1"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha1"

Ответ 5

    * Add these in project level gradle

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


    ext {
        buildToolsVersion = "25.0.2"
        supportLibVersion = "25.3.1"
        archRoomVersion = "1.0.0-alpha1"
    }


    * Add these in module level gradle dependencies

dependencies {

     compile 'android.arch.persistence.room:runtime:' + rootProject.archRoomVersion;
        annotationProcessor 'android.arch.persistence.room:compiler:' + rootProject.archRoomVersion;

}

Ответ 6

Для androidX и kapt

def room_version = "2.1.0"
implementation "androidx.room:room-runtime:$room_version"
implementation "androidx.room:room-rxjava2:$room_version"
kapt "androidx.room:room-compiler:$room_version"

Ответ 7

Это работает с последней версией Android Studio 3.1.

В папке Gradle Scripts, в Проект build.gradle добавьте:

allprojects {
    repositories {

...

        maven { url 'https://maven.google.com' }
    }
}

В Модуле build.gradle добавьте:

dependencies {

...
    implementation "android.arch.persistence.room:runtime:1.0.0"
    annotationProcessor "android.arch.persistence.room:compiler:1.0.0"

}

Источник: https://developer.android.com/topic/libraries/architecture/adding-components.html

Ответ 8

Откройте build.gradle(Project: projectName) и добавьте эти строки, если он не существует.

Это позволяет получить доступ к репозиторию Google

allprojects {
repositories {
    jcenter()
    google()
 }
}

затем откройте 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"

Для Котлина

вставьте эту строку за пределы зависимостей или области видимости Android вверху, где применяются плагины kotlin

apply plugin: 'kotlin-kapt'

добавить эти строки в зависимости

def room_version = "1.1.0"
implementation "android.arch.persistence.room:runtime:$room_version"
kapt "android.arch.persistence.room:compiler:$room_version"

чтобы быть в курсе последних версий зависимостей, посетите хранилище mvn для комнаты

Здесь вы найдете последнюю версию. enter image description here

Ответ 9

Текущая версия (2018 02 14) -

compile 'android.arch.persistence.room:rxjava2:1.1.0-alpha1'
compile 'android.arch.persistence.room:runtime:1.1.0-alpha1'
annotationProcessor 'android.arch.persistence.room:compiler:1.1.0-alpha1'

compile 'android.arch.lifecycle:extensions:1.1.0'
annotationProcessor 'android.arch.lifecycle:compiler:1.1.0'

Ответ 10

Откройте файл build.gradle для вашего проекта (а не для вашего приложения или модуля) и добавьте:

allprojects {
    repositories {
        google()
        jcenter()
    }
}

Откройте build.gradle файл для вашего приложения или модуля и добавьте артефакты, которые вам нужны в качестве зависимостей:

dependencies {

    implementation "android.arch.persistence.room:runtime:1.0.0"
    annotationProcessor "android.arch.persistence.room:compiler:1.0.0"

}

Ссылка: Android Adding Components

Ответ 11

По состоянию на июль 2019 года, если вы хотите использовать Room с Kotlin, AndroidX, Coroutines или RxJava, добавьте строки ниже.

   // Room
    implementation 'androidx.room:room-runtime:' + rootProject.roomVersion
    // For Kotlin use kapt instead of annotationProcessor
    kapt 'androidx.room:room-compiler:' + rootProject.roomVersion
    // optional - Kotlin Extensions and Coroutines support for Room
    implementation 'androidx.room:room-ktx:' + rootProject.roomVersion
    // optional - RxJava support for Room
    implementation 'androidx.room:room-rxjava2:' + rootProject.roomVersion

Ответ 12

Отскочив от ответа @Thracian, вот что я должен был сделать, следуя этой документации:

https://codelabs.developers.google.com/codelabs/android-room-with-a-view-kotlin/#13

    /* Room */
    implementation 'androidx.room:room-runtime:2.1.0'
    kapt 'androidx.room:room-runtime:2.1.0'

    implementation 'androidx.room:room-compiler:2.1.0'
    kapt 'androidx.room:room-compiler:2.1.0'
    annotationProcessor 'androidx.room:room-compiler:2.1.0'

    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0-alpha02'
    kapt 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0-alpha02'

    implementation 'androidx.room:room-ktx:2.1.0'
    kapt 'androidx.room:room-ktx:2.1.0'

    implementation 'android.arch.lifecycle:extensions:1.1.1'
    kapt 'android.arch.lifecycle:extensions:1.1.1'

Также в android {} мне пришлось добавить:

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

Несмотря на то, что я прочитал, с Kotlin вы все равно должны использовать annotationProcessor