是否有机会在Sencha Touch 2应用程序中使用SQLite?

是否有机会在Sencha Touch 2应用程序中使用SQLite?,sqlite,sencha-touch-2,Sqlite,Sencha Touch 2,我想使Sencha触摸2应用程序,我需要使用客户端数据存储。那么,是否有一种方法可以使用SQLite数据库或相同的替代方案呢? 我的应用程序需要工作,如果用户没有互联网接入和用户能够做CRUD的数据。 当设备建立internet连接时,应用程序应将客户端数据库(SQLite)与服务器端数据库同步。我认为有两种机会 第一个是使用WebSQL。 它就像一个SQL数据库。但它被弃用,取而代之的是indexedDb(它目前不适用于移动浏览器) WebSQL和Sencha Touch 2有一个插件 第二个

我想使Sencha触摸2应用程序,我需要使用客户端数据存储。那么,是否有一种方法可以使用SQLite数据库或相同的替代方案呢? 我的应用程序需要工作,如果用户没有互联网接入和用户能够做CRUD的数据。
当设备建立internet连接时,应用程序应将客户端数据库(SQLite)与服务器端数据库同步。

我认为有两种机会

第一个是使用WebSQL。 它就像一个SQL数据库。但它被弃用,取而代之的是indexedDb(它目前不适用于移动浏览器)

WebSQL和Sencha Touch 2有一个插件

第二个机会是使用本地存储。 您可以直接使用存储和“localstorage”代理对数据进行CRUD。 但它不是SQLite数据库,不过我认为您可以使用它解决您的问题


Sencha文档:

最新版本的Sencha Touch(2.1)通过Ext.data.proxy.SQL类内置了对Web SQL的支持

这为Web SQL提供了官方支持。然而,它实际上没有文档,使用起来非常痛苦。一个好的起点是:

我自己在一个项目中使用过它,发现它在出现问题时不会提供错误。例如,我有一个问题,我拼错了sortby声明(这显然是必需的,但没有文档记录),它停止了工作。没有显示任何错误。大约5个小时后,我发现了这个问题,它又开始工作了


这很痛苦,但它将完成完整数据库本地存储的工作。

您是说SQL数据库不能在本机打包中使用?不,您可以在本机打包中使用它。本机打包就像本机应用程序中的web容器。但是不推荐的功能可能会在以后的移动浏览器版本中被删除,然后应用程序将不再工作。但是Sencha应该为我们提供数据库,而不是有限的本地存储,这很难看…好吧,我认为这不是Sencha的问题,当前的移动web浏览器不支持许多变体来存储数据。Phonegap是一个用于web应用程序的本机打包程序。您可以将带有phonegap的Sencha Touch应用程序打包到本机iOS或Android应用程序中。然后您可以使用Sencha内部的phonegap插件