bonsoir , je viens vers vous car je tourne en rond avec room et sqlite et mon code
je n'arrive pas a enregistrer des données dans la base . je voudrais que ma base soit copier une seule foi pour que l'application puisse fonctionner et après ne la copier des assets . je voudrai pouvoir faire des modification comme ajouter des données ou pouvoir en supprimer et cela facilement . je suis allée dans /data/data/com.example.formulaire/databases/ faire une modifications pour voir si mes valeurs serai prise en compte , mais elle ne sont pas conservées après le redémarrage de l'application, cela signifie que quelque chose dans mon application ou dans l'environnement d'exécution restaure la base de données à son état original. et ça constamment .dans mon émulateur lorsque je change les valeur l'enregistrement ce fais bien tant que l'application est en cours , une fois arrêté et redémarrer les données anciennes revient au galop.
je sais même pas quoi vous donnée comme code tellement je suis perdu , j'attend un samaritain ou samaritaine pour me guider et me remettre sur les rails car là je suis plus en mode destruction que construction pour le débutant que je suis . merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 @Database(entities = {Insectes.class}, version = 9, exportSchema = false) public abstract class InsecteDatabase extends RoomDatabase { // Voici la variable INSTANCE intercalée correctement private static volatile InsecteDatabase INSTANCE; public abstract InsecteDao InsecteDao(); public static InsecteDatabase getInstance(Context context) { if (INSTANCE == null) { synchronized (InsecteDatabase.class) { if (INSTANCE == null) { SharedPreferences prefs = context.getSharedPreferences("app_prefs", MODE_PRIVATE); boolean isFirstRun = prefs.getBoolean("isFirstRun", true); RoomDatabase.Builder<InsecteDatabase> builder = Room.databaseBuilder( context.getApplicationContext(), InsecteDatabase.class, "Insecte.db" ).fallbackToDestructiveMigration(); if (isFirstRun) { builder.createFromAsset("Insecte.db"); prefs.edit().putBoolean("isFirstRun", false).apply(); } INSTANCE = builder.build(); } } } return INSTANCE; }
Partager