2017-08-11 1 views
0

J'ai un scénario dans lequel mon App-A doit lire les données de la base de données d'App-B. 1) Modifier le DB de l'App-B 2) Enlever quelques lignes de Données & enregistrez-le. 3) Pendant que App-A est tué, restaurez les données de App-B. Maintenant, mon souci est de savoir quelle est la meilleure façon de sauvegarder les données DB d'App-B afin qu'elles puissent être facilement restaurées?Stocker temporairement les lignes de base de données SQLite avant de les réécrire

Répondre

1

Je vous recommande d'abord d'obtenir des données de l'application B et de les stocker dans un tableau de données ItemData.class que vous avez créé. (Pour ce faire, en utilisant votre code dans l'application A.)

ItemData.class:

public class ItemData{ 
public int itemId; 
public String itemText; 
public boolean itemBoolean; 
} 

Et vous pouvez ajouter un nouvel article à votre tableau comme ci-dessous:

ArrayList<ItemData> items= new ArrayList<>(); 
ItemData item = new ItemData(); 
item.itemId = //you should assign id from app b database 
item.itemText = //you should assign text from app b database 
item.itemBoolean = //you should assign boolean from app b database 
items.add(item); 

Ensuite, vous pouvez accéder à tous les données de l'application soient et les modifient en attendant qu'elles soient disponibles. Ce sera beaucoup plus rapide et les données ne seront pas perdues de votre tableau.

Maintenant, avec une boucle, vous pouvez restaurer toutes les données et l'enregistrer sur une autre base de données:

for (int i = 0; i < items.size(); i++) { 
     int restoredID = items.get(i).itemId; 
     String restoredString = items.get(i).itemText; 
     boolean restoredBoolean = items.get(i).itemBoolean; 
} 

J'espère que cela aide.

+0

Merci pour suggestion @ Lord Tesla, je vais essayer de vérifier, semble OK pour mon cas. –

+0

Si cela m'a aidé à ne pas oublier de voter ma réponse. Je l'apprécierais. –

+0

@ Lord Tesla, peut-on sauvegarder directement l'objet Cursor extrait de la base de données APP-B et l'utiliser pour remplir les données? Une raison particulière de stocker des données dans Array en premier? –