53 votes

Comment importer une bibliothèque de persistance de la pièce dans un projet Android

J'ai récemment vu la nouvelle fonctionnalité annoncée sur Google I / O Room Persistence Library pour fonctionner avec les bases de données SQLite sur Android. J'ai consulté la documentation officielle et je ne trouve pas les dépendances à importer dans mon fichier Gradle sur mon projet Android. Quelqu'un peut me donner un coup de main?

57voto

Il est possible de trouver les dépendances sur l'exemple codelab pour la nouvelle composants de l'architecture.

Racine :

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

Pour La Chambre:

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

Pour le Cycle de vie des dépendances:

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

L'ajout de Rxjava2 objets comme résultat de nos questions:

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

Test migrations:

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

7voto

pconcepcion Points 1341

Sur votre projet racine build.gradle vous devez ajouter Google repository maven:

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

Et puis sur l' build.gradle du Module , vous devez ajouter:

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'

Ajouter cette option si vous souhaitez utiliser RxJava2 Publisher et Flowable objets comme un résultat de vos requêtes

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

Et enfin, ajoutez également de cette dépendance pour tester les migrations

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

Mise à jour: Les bibliothèques sont toujours marqués comme Alpha1 donc je suppose que le numéro de version sera mise à jour bientôt, peut-être l'aide d' 1.0.+ jusqu'à un final version pourrait être une bonne idée ont été mis à jour et que définis sur la documentation que vous pouvez utiliser room 1.1.1 l'utilisation de ce dépendances:

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"
}

5voto

Zimbo Rodger Points 492

Android doc:

Ajouter le Google repository Maven Android Studio les projets ne sont pas configurés pour accéder à ce référentiel par défaut.

Pour l'ajouter à votre projet, ouvrez le construire.gradle fichier pour votre projet (pas ceux de votre application ou d'un module) et ajouter la ligne en surbrillance comme indiqué ci-dessous:

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

Ajouter Des Composants De L'Architecture

Ouvrez le construire.gradle fichier de votre application ou de votre module et ajoutez les artefacts que vous avez besoin en tant que dépendances:

Pour les Cycles de vie, LiveData, et ViewModel, ajouter:

compile "android.arch.lifecycle:runtime:1.0.0-alpha1"
compile "android.arch.lifecycle:extensions:1.0.0-alpha1"
annotationProcessor "android.arch.lifecycle:compiler:1.0.0-alpha1"

Pour la Chambre, ajouter:

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

5voto

Rajat Sharma Points 761

Essayez ceci pour compiler la bibliothèque Room Persistence

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

Et ajoutez ceci au niveau de la racine

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

3voto

sharmitha Points 238
    * 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;

}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X