使用Eclipse在计算机硬盘Phonegap上保存/检索Sqlite数据库

时间:2014-03-29 11:16:52

标签: android eclipse sqlite cordova

类似的问题已经问过,但我无法在磁盘上找到数据库

DDMS->data-> again click data-> your package name->databases->db

Check this

我正在使用 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:我应该问其他类似的问题吗?

0 个答案:

没有答案