2011-04-13 6 views
0

Je souhaite stocker mon fichier de base de données dans un dossier pouvant être tracé, puis créer sa sauvegarde dans la carte SD. En essayant de faire ceci je suis findind problème dans quel chemin à donner pour le dossier drawable. Je fais ceci:Stockage et récupération de la base de données

try {

 File sd = Environment.getExternalStorageDirectory(); 

     File data = Environment.getDataDirectory(); 

     if (sd.canWrite()) { 
      //db = openOrCreateDatabase("demodatabase.sqlite",SQLiteDatabase.CREATE_IF_NECESSARY,null); 
    currentDBPath = "//drawable//demodatabase.sqlite"; 



    db=openOrCreateDatabase(uri.toString(), 0, null); 
     System.out.println("====="+ currentDBPath); 
     backupDBPath = "{demodatabase.sqlite}"; 

     File currentDB = new File(data, currentDBPath); 

     File backupDB = new File(sd, backupDBPath); 

     if (currentDB.exists()) { 

     FileChannel src = new FileInputStream(currentDB).getChannel(); 

     FileChannel dst = new FileOutputStream(backupDB).getChannel(); 

     dst.transferFrom(src, 0, src.size()); 

     src.close(); 

     dst.close(); 

     } 

     } }catch (Exception e) {} 

Thanx à l'avance.

Répondre

0

vous mettriez ces fichiers pas dans le dossier drawable mais dans votre dossier actif et vous pouvez obtenir un flux d'entrée à ces fichiers en utilisant simplement

context.getAssets().open("demodatabase.sqlite") 
+0

Je reçois NullPointerException, le contexte ne prend pas valeurs ... pourquoi le faire?] – Piyush

+0

Utilisez-vous la classe SQLiteOpenHelper en tant que classe super? – senola

+0

Non, je suis juste l'extension de l'activité ..... – Piyush

Questions connexes