1

我是移动应用程序开发新手。我正在使用Sencha + Phonegap创建跨平台的应用程序。我的目标是将用户编写的文本存储在移动设备(离线存储)以及与其相关的一些其他文本数据中,即使移动设备重新启动,该文本也会持续存在,一旦移动设备连接,该文本就会上传到服务器。在Sencha手机应用程序中离线保留存储空间

根据此http://docs.sencha.com/touch/2.3.2/#!/api/Ext.data.proxy.Proxy Sencha提供2个客户端存储。

LocalStorageProxy - saves its data to localStorage if the browser supports it 
MemoryProxy - holds data in memory only, any data is lost when the page is refreshed 

MemoryProxy不存在问题。 LocalStorage使用HTML5存储,我不认为这会在重新启动后持续。

所以我需要的是某种数据库,它可以在Sencha的Android和IOS下以离线模式访问。有这样的事吗?

+0

你能给出我的答案一些建议吗?它有用吗? –

+0

是的,绝对,谢谢你的回答。不过,我还没有设法实现它(下周会发生)。我会让你知道的。但到目前为止,我认为这是失踪的难题。 – Horkyze

回答

1

您的设想是错误的,localStorage在应用程序重新启动和应用程序重新启动之间持续存在。你可能把它与sessionStorage混淆?据我所知,只有当用户主动清除应用程序数据(例如在应用程序菜单的Android上)时,数据才会被清除。

无论如何,因为你使用的科尔多瓦/ PhoneGap的,你有这些Storage选项:

  • 的localStorage,键/值永久存储(support table
  • 的WebSQL,提供了更多的功能齐全通过SQL查询访问数据库表(Android,BlackBerry 10,iOS,Tizen)。
  • IndexedDB,比LocalStorage更多的功能但比WebSQL更少(仅限Windows Phone和Blackberry)。

另外,你可以使用:

+0

我终于实现了它。 localStarage运行良好。我读过应用程序不应该依赖localStorage的地方,它存储所有的数据,所以我切换到文件系统,这也很好。一切都是持久的。谢谢。 – Horkyze

+0

乐于帮助。如果此答案或任何其他人解决了您的问题,请将其标记为已接受。 –

1

的localStorage的是持久的。 例如,在android中,只有当应用程序删除本地存储数据或删除应用程序时,或者用户转到设置并清除该特定应用程序的应用程序数据时,才能删除本地存储数据。

希望这会有所帮助。

相关问题