Sto creando un'applicazione Android e sto utilizzando database sqlite al suo interno. per questo ho inserito un file sqlite nella cartella delle risorse del progetto e sto copiando questo file sul telefono mentre eseguivo la prima esecuzione dell'applicazione utilizzando il codice seguente.Il database non viene copiato correttamente in OnePlus Two
private void copyDataBase() throws IOException {
new File(DB_PATH).mkdirs();
InputStream myInput = appContext.getAssets().open(DB_NAME);
String outFileName = DB_PATH + DB_NAME;
OutputStream myOutput = new FileOutputStream(outFileName);
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer)) > 0) {
myOutput.write(buffer, 0, length);
}
myOutput.flush();
myOutput.close();
myInput.close();
}
ma sto ricevendo questi errori.
09-21 18:03:56.841: E/SQLiteLog(7850): (1) no such table: tbl_player
ma questa tabella esiste nel file di risorse. così ho recuperato il file di database dal telefono usando questo metodo.
public static void exportDB(String databaseName, Context context) {
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
String currentDBPath = "//data//" + context.getPackageName()
+ "//databases//" + databaseName + "";
String backupDBPath = "sensor_game.db";
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);
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) {
}
}
e ho trovato che non esiste alcuna tabella nel file di database recuperato.
Nota: Questo problema si verifica solo è in OnePlus Two
e lavorare bene in Nexus 4
, Htc 820
, Moto E
, Galxy S3
e Galaxy Quottro
'void exportDB'. Crea quel valore booleano e aggiungi il codice nel caso in cui currentB non esista. Quel codice non può/può funzionare. – greenapps
Alcune volte ho trovato lo stesso problema. –
Sto sperimentando problemi e app che sto sviluppando nel mio OP2 e mi sta facendo impazzire – Frildoren