首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PhoneGap使用什么数据库?大小限制是多少?

PhoneGap使用什么数据库?大小限制是多少?
EN

Stack Overflow用户
提问于 2013-03-30 00:24:09
回答 3查看 34.6K关注 0票数 67

我编写了一个抽象localStorage、indexedDB和WebSQL的HTML5数据库。使用HTML5时,我的数据库选项如下所示:

  • IE10 - max
  • FireFox -1 1GB
  • Safari - indexedDB - ref2)
  • Opera - IndexedDB - 50MB
    • IE10- WebSQL - indexedDB (或WebSQL )-无限(使用HTML5配额ref1、WebSQL-WebSQL(直到他们切换到webkit?) )-无限

我想使用PhoneGap或配额应用程序接口来扩展最大数据库大小。从PhoneGap的文档中可以看出,当前的PhoneGap database ecosphere是:

  • WebSQL -安卓、黑莓、iPhone和webOS
  • localStorage - Windows Phone 7
  • indexedDB - Windows Phone 8,我猜,所有地方都可以使用indexedDB,但WebSQL不能。

还有PhoneGap SqlLite插件。iOSAndroidWindows Phone 8+

问题1 -我对PhoneGap将使用什么数据库的理解准确吗?

问题2 -是否有可靠的文档说明给定类型的PhoneGap数据库将存储多少数据?*如果它是PhoneGap数据库而不是浏览器数据库实现。

问题3 - PhoneGap是否有计划坚持Web Storage standards,从而放弃WebSQL,转而支持indexedDB?如果是这样的话,一旦切换到indexedDB,我还能使用我现有的WebSQL代码(通过内置的PhoneGap-polyfill)吗?

问题4 -在数据库大小有限且无法通过PhoneGap或配额应用编程接口扩展,但可以访问文件系统的情况下,假设可以在设备的文件系统或SD卡上存储“额外的”数据是否合理?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-04 21:15:34

我对

的理解是否准确,PhoneGap将使用什么数据库?

是的。PhoneGap可以使用LocalStorage、SessionStorage或SQLite数据库。您也可以选择使用PhoneGap通过插件连接到设备的本机类,并传递本机类数据,然后将其存储在设备上。

关于给定类型的PhoneGap数据库将存储多少数据,是否有可靠的文档?如果它是一个PhoneGap数据库,而不是浏览器的数据库实现。

无限数据数据库::10MB

  • SessionStorage ::10MB
  1. LocalStorage ::50MB-80MB (取决于使用插件调用的数据库::
    1. LocalStorage ::
    2. SQLite amount
    3. IndexedDB::5MB。仍然存在。但是很有问题,theres a list of devices/OS's that run it here

PhoneGap是否有计划遵守网络存储标准,从而放弃WebSQL,转而使用indexedDB?如果是这样的话,一旦切换到indexedDB,我还能使用我现有的WebSQL代码(通过内置的PhoneGap-polyfill)吗?

WebSQL正在慢慢地被弃用。它的替代品是IndexedDB或SQLite。但是,您的最佳选择是SQLite或本机数据库(例如iOS上的核心数据)

在数据库大小有限且不能通过PhoneGap或配额API扩展,但可以访问文件系统的情况下,假设“额外的”数据可以存储在设备的文件系统或SD卡上是否合理?

这绝对是有可能的。

  • On Android你可以指定数据库的位置,从而将数据推送到外部数据库。
  • 在iOS上,您可以使用本机数据库调用在CoreData上存储数据,没有外部内存。
  • 在所有操作系统的情况下,您都可以创建一个平面数据库文件,就像文本文件一样,将您的数据存储在键值列表中,然后在第一次运行时将这些数据拉到您的应用程序中。在这种情况下,要注意内存管理。

我已经添加了关于如何在my answer中为SQLite和LocalStorage数据库编码的说明。

票数 95
EN

Stack Overflow用户

发布于 2013-04-03 21:20:41

我能够在Android 4.0.4平板电脑上运行测试。它使用WebSQL ( WebSQL的一个甚至不支持db.changeVersion的旧版本),它允许我填满整个硬盘(我的数据库有12 It )。我不知道其他设备或者SD卡是如何工作的。

票数 6
EN

Stack Overflow用户

发布于 2014-09-14 05:14:30

IndexedDB -

  • 它与许多类型的移动操作系统和版本
  • 不兼容,它只与非常特定的移动操作系统版本兼容
  • 开发人员不能在IndexedDB中使用SQL。可以在SQLite和WebSQL
  • 上使用SQL语句大多数开发人员积极避免使用IndexedDB,就像使用

一样。

WebSQL -

  • 它已被苹果弃用,这意味着它不再需要维护或开发W3C
  • 它需要另一个名为Polyfill的插件才能使移动应用程序与流行的移动操作系统(如谷歌安卓和苹果iOS

)协同工作

SQLite -

从Google

  • SQLite获得奖项的
  • 有它的官方网站。IndexedDB和WebSQL没有在谷歌上
  • ,SQLite返回了180万条结果。WebSQL返回的结果略低于700K,而IndexedDB返回的结果为282K。
  • Developer可以在SQLite中使用常用的SQL语句。

如果您想快速了解SQLite

Storage of SQLite database using Android and Phonegap

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15707201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档