Exporter une base de données SqLite
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 :
Code:
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();
}
} |
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é.
Où est-ce que je dois chercher ?
Cordialement.
Pierre.