Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DB SQLite Android中出现错误_Android_Sqlite - Fatal编程技术网

DB SQLite Android中出现错误

DB SQLite Android中出现错误,android,sqlite,Android,Sqlite,我有一个问题,应付我的DB到我的APK 我找到了这段代码,我正在使用它,但这给了我一个错误: Toast.makeText(getApplicationContext(), "Archivo no encontrado.", Toast.LENGTH_SHORT).show();//FILE DOESNT FOUND 这是代码 private void copiarBaseDatos() { String ruta = "/data/data/com.example.bbay/data

我有一个问题,应付我的DB到我的APK

我找到了这段代码,我正在使用它,但这给了我一个错误:

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();
        }
    }
}
任何帮助都会来的,谢谢。

试试看

this.getApplicationContext

首先,您硬编码了应用程序私有数据目录的路径。您不应该这样做,而是应该查看此文档页:--问题的原因可能是目录结构
/data/data/com.example.bbay/databases/
尚不存在。首先尝试使用
File
mkdirs
方法创建这些目录。这解决了我的问题,比您。。。我首先用makedir()创建了文件夹,它可以工作:)最好还说,他应该在哪里试一试。以及他所期待的。为什么。