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 : 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();
 
        }
    }
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.