gpt4 book ai didi

javascript - 在 HTML5 移动应用程序中实现数据库

转载 作者:行者123 更新时间:2023-11-30 17:36:45 25 4
gpt4 key购买 nike

我无法决定是否为我的移动应用程序实现数据库。我正在使用带有 jquery mobile 和 phonegap 的 javascript 来希望部署到 IOS 和 Android。数据库基本上是大约 60-70 个位置名称、描述、纬度和经度的列表。即使用户无法访问互联网并且需要执行查询(例如按最近距离对位置进行排序),我也需要数据可用。

有没有办法预先创建数据库文件并根据需要打开,或者我是否需要在每次打开我的应用程序时都创建数据库?即使在应用程序关闭后数据库文件仍驻留在设备上,还是在应用程序重新启动时重新创建它?

有什么建议或例子吗?

谢谢,

罗伯特

最佳答案

browser storage有几种类型例如localStorage它们都是内置的,可以直接使用。

Storage objects are a recent addition to the standard. As such they may not be present in all browsers.........The maximum size of data that can be saved is severely restricted by the use of cookies.

代码示例:

  function storeMyContact(id) {
var fullname = document.getElementById('fullname').innerHTML;
var phone = document.getElementById('phone').innerHTML;
var email = document.getElementById('email').innerHTML;
localStorage.setItem('mcFull',fullname);
localStorage.setItem('mcPhone',phone);
localStorage.setItem('mcEmail',email);
}

另一方面,localStorage 可能还不够,因此,出现了外部库,它们实际上利用了浏览器内置的存储,并使数据库跨浏览器工作。

1- SQL 类数据库 sequelsphere (看起来适合提重物!)

将直接从浏览器运行的查询代码示例:

SELECT empl_id, name, age 
FROM empl
WHERE age < 30

2- 类似 DB 的 JSON taffydb (看起来适合日常事件!)

// Create DB and fill it with records
var friends = TAFFY([
{"id":1,"gender":"M","first":"John","last":"Smith","city":"Seattle, WA","status":"Active"},
{"id":2,"gender":"F","first":"Kelly","last":"Ruth","city":"Dallas, TX","status":"Active"},
{"id":3,"gender":"M","first":"Jeff","last":"Stevenson","city":"Washington, D.C.","status":"Active"},
{"id":4,"gender":"F","first":"Jennifer","last":"Gill","city":"Seattle, WA","status":"Active"}
]);

// Find all the friends in Seattle
friends({city:"Seattle, WA"});

3- 既然你提到了手机,那么 jstorage是一个跨浏览器的键值存储数据库,用于在浏览器本地存储数据 - jStorage 支持所有主流浏览器,包括桌面(是的 - 甚至是 Internet Explorer 6)和移动浏览器。

如果你想有更多选择 ->( client-side-browser-database )

关于javascript - 在 HTML5 移动应用程序中实现数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21886232/

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