我遇到了一个针对Android和iOS构建的PhoneGap应用程序的问题.在iOS和大多数Android设备上,除三星Galaxy S3和S4外,它的功能完美.
在第一页加载时,应用程序会创建一个本地SQL数据库.此数据库用于存储整个应用程序中的问题和答案的值.
我在三星设备上遇到的问题是,第一次运行应用程序时数据库无法正常加载,但是如果用户完全关闭应用程序并重新打开它,则会创建没有错误的数据库.由于第一页要求用户输入其年龄,然后将值存储在SQL数据库中,因此用户会得到应用程序此时已冻结的印象.
数据库的初始化代码:
的index.html
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
populateDB();
}
Run Code Online (Sandbox Code Playgroud)
main_js.js
function populateDB() {
var db = window.openDatabase("Database", "1.0", "My Database", 20000);
db.transaction(populate_DB, errorCB, successCB);
}
function populate_DB(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS Options (ID INTEGER UNIQUE NOT NULL, Name TEXT NOT NULL, Value INTEGER NOT NULL)');
tx.executeSql('CREATE TABLE IF NOT EXISTS Questions (ID INTEGER UNIQUE NOT NULL, Question TEXT NOT NULL, Answer TEXT)');
tx.executeSql('INSERT OR IGNORE INTO Options (ID, Name, Value) VALUES (1, "License", …Run Code Online (Sandbox Code Playgroud)