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
将Sqlite db从资产复制到内部存储(Android和cordova)_Android_Sqlite_Cordova - Fatal编程技术网

将Sqlite db从资产复制到内部存储(Android和cordova)

将Sqlite db从资产复制到内部存储(Android和cordova),android,sqlite,cordova,Android,Sqlite,Cordova,我试图将数据库从资产复制到内部存储,但我使用了JavaAndroid(“复制数据库”)和cordova(“调用&读取&wirte数据库”)。此外,emulator中的一切都是正确的,我可以在数据库中检索表的数据,但当我运行手机或平板电脑时,我无法识别表并检索数据,但我确信复制数据库已经完成,因为我在调用数据库之前需要在SD卡上导出。我想我需要得到许可,但我对这个问题一无所知 特点: -cordova 3.4.0.js -科尔多瓦-2.7.0.jar 有两个文件: /data/data/[包名]/

我试图将数据库从资产复制到内部存储,但我使用了JavaAndroid(“复制数据库”)和cordova(“调用&读取&wirte数据库”)。此外,emulator中的一切都是正确的,我可以在数据库中检索表的数据,但当我运行手机或平板电脑时,我无法识别表并检索数据,但我确信复制数据库已经完成,因为我在调用数据库之前需要在SD卡上导出。我想我需要得到许可,但我对这个问题一无所知

特点: -cordova 3.4.0.js -科尔多瓦-2.7.0.jar

有两个文件:

/data/data/[包名]/app_webview/databases/databases.db

/data/data/[程序包名称]/app\u webview/databases/file\u 0/1

在MainActivity.java中

private String filepath = "webview";

ContextWrapper contextWrapper = new ContextWrapper(getApplicationContext());
File directory = contextWrapper.getDir(filepath, Context.MODE_PRIVATE);

File CheckDirectory;
CheckDirectory = new File("/data/data/com.example.sample/app_webview/databases/");
CheckDirectory.mkdirs();

CheckDirectory = new File("/data/data/com.example.sample/app_webview/databases/file__0/");
CheckDirectory.mkdirs();

this.copy("Databases.db", "/data/data/com.example.sample/app_webview/databases/");
            //this.copy("Databases.db-journal", "/data/data/com.example.sample/app_webview/databases/");
            this.copy("1", "/data/data/com.example.sample/app_webview/databases/file__0/");

super.onCreate(savedInstanceState);

super.loadUrl("file:///android_asset/www/index.html");
index.html中的

document.addEventListener("deviceready", successCB, false);

function successCB() {
       var db = window.openDatabase("Database", "1.0", "Saeed", 200000);
       db.transaction(queryDB, errorCB);

    }
function queryDB(tx) {
       tx.executeSql('SELECT * FROM TEST', [], querySuccess, errorCB);
    }

我想我们需要看一些代码。如何在注释中添加代码?我使用MainActivity.java和index.html文件只需对您的问题进行编辑并添加代码。