类似的问题已经问过,但我无法在磁盘上找到数据库
DDMS->data-> again click data-> your package name->databases->db
我正在使用 phoneGap V 2.7.0 构建一个简单的Android移动应用程序。在应用程序中我想实现数据库功能。
我使用Sqlite数据库存储数据。它工作正常。它存储数据,插入数据并获取数据。但是当我需要在我的硬盘上推送数据库时,我无法在 app_databse 文件夹中看到数据库。
对于从eclipse到计算机硬盘检索数据库,我使用 SQLite数据库浏览器2.0 b1 。
在下面的步骤中,我常常从日食中看到数据库。
DDMS =>文件浏览器=> data => data => => app_database 文件夹中。
所需的最低SDK:API 8:Android 2.2(Froyo)目标SDK:API 16: Android 4.1(Jelly Bean)编译:API 17 Android 4.2(Jelly Bean) PhongGap V:2.7.0; Android V:4.2 Eclipse版本:4.3
我使用下面的代码来设置数据,从sqlite数据库中获取数据。
创建数据库和表
document.addEventListener("deviceready", OnDeviceReady, false)
function OnDeviceReady() {
alert("PhoneGap is ready");
}
function onCreate() {
try {
var mytx = window.openDatabase("Contact", "1.0", "Contact", 1000000);
mytx.transaction(funCreateData, funsuccess, funerror)
} catch (e) {
console.error(e.message);
}
}
function funCreateData(tx) {
try {
tx.executeSql('CREATE TABLE IF NOT EXISTS ContactList (id unique, name varchar)');
alert("created");
} catch (ex) {
alert(ex.message);
}
}
function funsuccess() {
alert("Debug on Success");
}
将数据插入Sqlite数据库
function onInsert() {
var mytx = window.openDatabase("Contact", "1.0", "Contact", 1000000);
mytx.transaction(funSetData, funSetsuccess, funerror)
}
function funSetData(tx) {
tx.executeSql('INSERT INTO ContactList (id, name) VALUES (1, "XYZ")');
}
function funSetsuccess() {
alert("Success");
}
从Sqlite数据库获取数据。
function onSelect() {
var mytx = window.openDatabase("Contact", "1.0", "Contact", 1000000);
mytx.transaction(funGetData, funGetsuccess, funerror)
}
function funGetsuccess() {
alert("Success Select");
}
function funGetData(tx) {
tx.executeSql("select * from ContactList", [], successQ, funerror);
}
function successQ(tx, result) {
var len = result.rows.length;
alert(len);
var fname = result.rows.item(1).name;
alert(fname);
}
function funerror(err) {
alert("Error" + err.message);
}
PS:我应该问其他类似的问题吗?