【发布时间】:2012-03-04 17:10:19
【问题描述】:
我正在尝试将一些数据存储在我使用 phonegap 创建的数据库中
document.addEventListener("deviceready", onDeviceReady, false);
function populateDB(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
}
// Query the database
//
function queryDB(tx) {
tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
}
// Query the success callback
//
function querySuccess(tx, results) {
var len = results.rows.length;
console.log("DEMO table: " + len + " rows found.");
for (var i=0; i<len; i++){
console.log("Row = " + i + " ID = " + results.rows.item(i).id + " Data = " + results.rows.item(i).data);
}
}
// Transaction error callback
//
function errorCB(err) {
console.log("Error processing SQL: "+err.code);
}
// Transaction success callback
//
function successCB() {
var db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000);
db.transaction(queryDB, errorCB);
}
// PhoneGap is ready
//
function onDeviceReady() {
var db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000);
db.transaction(populateDB, errorCB, successCB);
}
但是数据库没有被创建..而是将其保存在 /data/data/package-name/app_database/file__0/00000000000000001.db 中
我想把数据保存在/data/data/package-name/database/Database.db中
怎么做?
【问题讨论】:
-
你为什么不使用 sharedpreferences ?
-
我正在使用phonegap开发它,因为这个代码对于所有移动平台都是通用的,这可以通过sqlite实现......这就是为什么我更喜欢sqlite
-
我不明白你是如何创建数据库的,我只是在使用“base = context.openOrCreateDatabase("db", Context.MODE_PRIVATE, null);"它总是在 /data/data/package-name/database/db...
-
是的,这是在 Android 中创建数据库的原生方式。我正在尝试使用 Phonegap API 创建数据库。
标签: javascript android cordova sqlite