我試圖將我的應用程序數據庫從存儲數據複製到任何外部floder 但我得到一些錯誤。如何從應用中檢索數據庫的備份?
我的設備是植根,我已經使用來自谷歌的許多應用發揮到nevigate數據/數據,但它是空的,我已經使用這個代碼:
public void backup() {
try {
File sdcard = Environment.getRootDirectory();
File outputFile = new File(sdcard,
"YourDatabase.db");
if (!outputFile.exists())
outputFile.createNewFile();
File data = Environment.getDataDirectory();
File inputFile = new File(data,
"data/"+LoginActivity.this.getPackageName()+"/databases/"+"HafilTC.db");
InputStream input = new FileInputStream(inputFile);
OutputStream output = new FileOutputStream(outputFile);
byte[] buffer = new byte[1024];
int length;
while ((length = input.read(buffer)) > 0) {
output.write(buffer, 0, length);
}
output.flush();
output.close();
input.close();
} catch (IOException e) {
e.printStackTrace();
throw new Error(e.toString());
}
的Android mainfilfist:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
錯誤日誌:
02-11 18:38:16.213: E/AndroidRuntime(21338): java.lang.Error: java.io.IOException: open failed: EROFS (Read-only file system)
您可以嘗試http://stackoverflow.com/a/27463738/730807 –