12
votes

Sauvegarde et restauration de la base de données SQLite à SDCard

Comment puis-je sauvegarder ma base de données sur la carte SDCard dans mon application? Et après, comment puis-je la restaurer?


0 commentaires

3 Réponses :


10
votes

Comment puis-je sauvegarder ma base de données à la SDCard automatiquement dans mon application?

Copiez-le à l'aide de Java E / S standard. Assurez-vous de ne pas avoir d'objet OPEN SQLITEDATABASE Objets, cependant.

et après, comment puis-je la restaurer?

Copiez-le à l'aide de Java E / S standard. Assurez-vous de ne pas avoir d'OPEN SQLITEDATABASE Objets sur l'ancienne base de données, cependant.

Vous pouvez utiliser getspath () sur un objet sqlitedatabase pour savoir où il réside, afaik (n'ai pas essayé cela).


0 commentaires

11
votes

Voici mon code:

    // Local database
    InputStream input = new FileInputStream(from);

    // create directory for backup
    File dir = new File(DB_BACKUP_PATH);
    dir.mkdir();

    // Path to the external backup
    OutputStream output = new FileOutputStream(to);

    // transfer bytes from the Input File to the Output File
    byte[] buffer = new byte[1024];
    int length;
    while ((length = input.read(buffer))>0) {
        output.write(buffer, 0, length);
    }

    output.flush();
    output.close();
    input.close();


0 commentaires

9
votes

Merci aux réponses existantes. Voici la classe complète (avec utilisation de "getdatabasepath"): xxx


1 commentaires

GetExternalStorageDirectory () est obsolète toute nouvelle solution?