SQLite DB 每次都会在 phonegap 中填充
SQLite DB populates every time in phonegap
我遵循了有关如何在我的Android平板电脑上设置和创建SQLite数据库的phonegap教程。数据库是用javascript编写的,应用程序是用HTML5编写的。
数据库最终变得非常大(1200行仅填充/添加数据)我担心的一个问题是,每次我访问索引.html(首页)或我称为 catalog.html 的页面时,它都会填充。这是内存或时间等问题吗?应用程序在运行时不会向数据库添加任何内容。有谁知道一种不让它每次都填充的方法?以下是一些代码:
document.addEventListener("deviceready", onDeviceReady, false);
var db = window.openDatabase("DBfile", "1.0", "Afghanistan", 200000);
function onDeviceReady() {
db.transaction(populateDB, errorCB, successCB);
}
function populateDB(tx) {
(...
...
...)
}
function errorCB(tx, err) {
alert("Error processing SQL: "+err.code);
}
function successCB() {
alert("DB and tables generated with success!");
}
仅"链接"索引中的数据库文件.html而不是所有其他页面会有所帮助吗?奇怪的是,还有一个页面从数据库文件中获取数据,但是当我进入该页面时,我没有收到"成功生成数据库和表!"警报。
每次
启动应用程序时都会调用 populateDB 方法构建代码的方式。您需要通过在 localStorage 中设置一个值来保护此调用。像这样:
function onDeviceReady() {
if (localStorage.getItem("firstRun") == null) {
db.transaction(populateDB, errorCB, successCB);
localStorage.setItem("firstRun", false);
}
}
我也在相当大的数据库中使用Phonegap。我建议你看看html5应用程序的框架,如jQtouch,它模仿"原生"iPhone应用程序上的交互。在我看来,使用 jQtouch,你只加载索引.html一次,然后用 javascript 加载其他页面。您可以使用 ajax 加载内容,并且只将页面的结构全部包含在 index.html 中。
我在加载时间或内存泄漏方面没有任何问题。在这里看看jQtouch。
http://www.jqtouch.com/
祝你好运!
相关文章:
- 如何设置html元素填充的动画
- 如何使用jquery在填充自动完成的值后使文本框只读
- 如何通过ajax刷新JSF填充的javascript变量
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- angular.js没有'无法在PhoneGap中处理视图标记
- 用与线条相同的颜色填充多折线图上的点
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 在phonegap应用程序内部重定向不起作用
- 压缩phonegap中ios的图像插件
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 尝试使用Phonegap进行php登录
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- 用我的json数据填充JQuery DataTable
- 从手机中选择多个图像'使用phonegap的多媒体资料
- 使用 jQuery 检查所有值是否为空或已填充
- SQLite DB 每次都会在 phonegap 中填充
- Access在Phonegap中预填充SQL Lite数据库
- 在phonegap android中从json填充listview
- 用JSON数组填充phonegap sqlite数据库