Ich versuche, die Datenbank vom Ordner "Assets" auf das Gerät zu kopieren. Dieser Code funktioniert einwandfrei auf Emulator und gerootetem Gerät. Ich will nur wissen, ob es irgendein Problem auf einem unbewohnten Gerät erzeugt oder es funktioniert genauso.Kopieren der Datenbank aus dem Ordner "Assets" in einem nicht verwalteten Gerät
private void StoreDatabase() {
File DbFile = new File(
"data/data/packagename/DBname.sqlite");
if (DbFile.exists()) {
System.out.println("file already exist ,No need to Create");
} else {
try {
DbFile.createNewFile();
System.out.println("File Created successfully");
InputStream is = this.getAssets().open("DBname.sqlite");
FileOutputStream fos = new FileOutputStream(DbFile);
byte[] buffer = new byte[1024];
int length = 0;
while ((length = is.read(buffer)) > 0) {
fos.write(buffer, 0, length);
}
System.out.println("File succesfully placed on sdcard");
// Close the streams
fos.flush();
fos.close();
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Ja Ihr Code-Snippet funktioniert perfekt auf unbewurzelte Geräte auch :) –