私はアンドロイドsqliteデータベースをバックアップしようとしています。私はprogram.Butで与えられた私はコードが1つのフォルダが作成されている場合は、そのフォルダが空です、私のデータベースをバックアップし、どのように私はそれを見ることができます助けてください。 Firefoxのsqlite managerを使用しています。バックアップデータベースをクリックしたときにデータベースをバックアップしてください。SQLiteデータベースをバックアップするには?
マイコード:あなたは、SDカードなどの外部記憶装置への書き込みしようとしているように
public void exportDatabase(String databaseName) {
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
String currentDBPath = "//data//"+getPackageName()+"//databases//"+databaseName+"";
String backupDBPath = "PRIM.sqlite";
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);
System.out.println("@@ Enter 12222222222222");
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();
System.out.println("@@ Enter 2");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
外部ストレージへの書き込みを許可しましたか?また、 'currentDB'と' backupDB'パスを出力し、それらが正しいことを確認してください。 –
try https://stackoverflow.com/a/13504743/4146722 –
[Androidバックアップ/リストア:内部データベースをバックアップする方法?](https://stackoverflow.com/questions/5282936/android-backup-restore-how-to-backup-an-internal-database) – araknoid