gpt4 book ai didi

android - 仅在安装时在 phonegap android 应用程序中创建数据库

转载 作者:行者123 更新时间:2023-11-30 03:28:44 24 4
gpt4 key购买 nike

我是 phonegap android 应用程序的新手。 (抱歉我的英语不好。)

我想创建一个简单的应用程序,它有一个用于填充用户详细信息的搜索页面。我正在使用网络服务获取用户的相关详细信息。在一个字段上,我想从数据库中搜索某种类型的静态代码。我们决定将它们存储在本地数据库而不是服务器中,这样搜索过程就会很快。我在创建数据库时遇到了一些问题。我只想在安装应用程序时创建一次数据库。我使用了以下代码。

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(populateDB, errorCB, successCB);
}
function populateDB(tx) {
tx.executeSql('DROP TABLE IF EXISTS DEMO');
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) {
// console.log("Returned rows = " + results.rows.length);
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);
}
// this will be true since it was a select statement and so rowsAffected was 0
if (!results.rowsAffected) {
console.log('No rows affected!');
return false;
}
}

// 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", "Cordova Demo", 200000);
db.transaction(queryDB, errorCB);
}

所有数据都在服务器上的 mySQL 数据库中。当它安装在设备上时,我想将它们存储在应用程序本地数据库的演示表中。

我有以下问题-

  1. 每次在设备上运行时,数据库都会覆盖演示表的行。
  2. 演示表在 mysql 数据库中有大约 15000 行。我可以备份 mysql 数据库表,但如何在应用程序数据库中恢复它。
  3. 我可以调用网络服务来存储安装时间的所有数据吗?
  4. 如果我正在使用 localStorage,同样的问题。

最佳答案

使用sqlite或本地存储... http://www.sqlite.org/

关于android - 仅在安装时在 phonegap android 应用程序中创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17809842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com