将Sqlite db从资产复制到内部存储(Android和cordova)
我试图将数据库从资产复制到内部存储,但我使用了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中将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/[包名]/
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文件只需对您的问题进行编辑并添加代码。