0
我有我的應對DB我的APK一個問題...錯誤在DB的SQLite的Android
我發現這個代碼,即時通訊使用它,但發送我的錯誤:
Toast.makeText(getApplicationContext(), "Archivo no encontrado.", Toast.LENGTH_SHORT).show();//FILE DOESNT FOUND
這是代碼...
private void copiarBaseDatos() {
String ruta = "/data/data/com.example.bbay/databases/";
String archivo = "DBBay";
File archivoDB = new File(ruta + archivo);
if (!archivoDB.exists())
{
try
{
InputStream IS = getApplicationContext().getAssets().open(archivo);
OutputStream OS = new FileOutputStream(archivoDB);
byte[] buffer = new byte[1024];
int length = 0;
while ((length = IS.read(buffer))>0)
{
OS.write(buffer, 0, length);
}
OS.flush();
OS.close();
IS.close();
}
catch(FileNotFoundException e)
{
Toast.makeText(getApplicationContext(), "Archivo no encontrado.", Toast.LENGTH_SHORT).show();//FILE DOESNT FOUND
}
catch (IOException e) {
Toast.makeText(getApplicationContext(), "Error al copiar la Base de Datos.", Toast.LENGTH_SHORT).show();
}
}
}
任何幫助是很好,謝謝。
首先你硬編碼路徑到您的應用程序的私有數據目錄。你不應該這樣做,而是看看這個文檔頁面:http://developer.android.com/guide/topics/data/data-storage.html#filesInternal - 導致這個問題的原因可能是目錄結構'/ data/data/com.example.bbay/databases /'還不存在。嘗試使用'File'的'mkdirs'方法首先創建這些目錄。 – tiguchi
解決我的問題,比你...我先用makedir()創建文件夾,它的工作原理.. :) – user3314345