Bonjour à toutes et à tous,
Suite à cette discussion, Je me suis dit qu'il pouvait être intéressant de sauvegarder la base de données SqLite.
J'ai trouvé une application le permettant. J'ai recopié la partie export dans mon appli de base de données :
Problème, je ne sais pas où aller chercher la base de données. Aux lignes 10 et 11, l'exemple donne un nom de chemin générique où "PackageName" devrait être le nom de mon package ; c'est "com.example.demosqlite". Je mets donc ce chemin et le cherche . Voir ligne 13 et 14 ... Il n'est pas trouvé.
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
28
29
30
31 private void exportDB() { // TODO Auto-generated method stub try { File sd = Environment.getExternalStorageDirectory(); File data = Environment.getDataDirectory(); boolean res = data.exists(); // Test d'existence du répertoire --> OK if (sd.canWrite()) { // String currentDBPath = "//data//" + "PackageName" // Nom générique de la base de données // + "//databases//" + "DatabaseName"; File repDb =new File(data, "/com.example.demosqlite"); // Je cherche où elle est ... res = repDb.exists(); // ... pas OK File currentDB = new File(data, currentDBPath); File backupDB = new File(sd, backupDBPath); FileChannel src = new FileInputStream(currentDB).getChannel(); FileChannel dst = new FileOutputStream(backupDB).getChannel(); dst.transferFrom(src, 0, src.size()); src.close(); dst.close(); Toast.makeText(getBaseContext(), backupDB.toString(), Toast.LENGTH_LONG).show(); // } } catch (Exception e) { Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show(); } }
Où est-ce que je dois chercher ?
Cordialement.
Pierre.
Partager