Я использую базу данных Sql в моем appliaction, в том, что я хочу взять резервную копию database.I имеет следующие сомнения:в андроиде
1.I бег приложения в эмуляторе, для проверки того, я должен подключить внешнее хранилище, чтобы проверить, если не в моей системе, как я могу проверить. 2. Я использую следующий код в своем приложении, в котором параметр sdcard.write показывает false, что неправильно в этом.
Follwing мой код:
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
java.lang.System.out.println("data="+sd.getAbsolutePath());
java.lang.System.out.println("data="+sd.canWrite());--->Showing as false
if (sd.canWrite()) {
String currentDBPath = "\\data\\com.budget\\databases\\budget";
String backupDBPath = "budget";
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);
java.lang.System.out.println("backup="+backupDB.getAbsolutePath());
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) {
}
Спасибо Харальд .. но в моем случае сам if (sd.canWrite()) -> отображается как false, поэтому он не входит в этот цикл if. – subbu