Как импортировать библиотеку сохранения пространства в проект 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