Я пытаюсь скопировать базу данных SQLite из папки данных на SDCard с помощью эмулятора, я использую приведенный ниже код, который я нашел здесь .
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
String currentDBPath = "\\data\\PackageName\\databases\\myDB.db";
String backupDBPath = "myDB.db";
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);
if (currentDB.exists())
{
// code to copy from currentDB to backupDB
}
}
} catch (Exception e) {
}
Для разрешения на запись ниже также добавлено в файл манифеста:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
Выпуск
Проблема в том, что currentDB.exists () возвращает FALSE .
«currentDB.getAbsolutePath ()» возвращает путь «data \ data \ PackageName \ database \ myDB.db»
Это правильное местоположение базы данных, потому что я могу найти ее с помощью Eclipse >> Перспектива DDMS >> Проводник
Может кто-нибудь помочь мне найти проблему, почему "currentDB.exists ()" возвращает FALSE?
Спасибо за ваше драгоценное время и помощь.