2012-09-16 85 views
2

我已经开发了2个使用PhoneGap的移动应用程序。一种是免费广告支持版本,功能稍有限制,另一种是没有广告的完整版本。我的应用程序将数据保存在localStorage密钥对和WebSQL打开的数据库中。PhoneGap应用程序 - 免费应用程序和付费应用程序与相同的数据库

理想情况下,我希望两个应用程序共享相同的存储空间,因为每个应用程序在其各自的安装路径中都有自己的数据库。我需要这个,所以如果有人使用我的免费应用程序几个星期,并保存了大量的数据,他们可以升级到完整版本,他们的数据将被保留。

另一种解决方案是具有导入/导出功能,我最终希望实现该功能以允许用户备份他们的数据,甚至转移到新手机。但是,为了让这两个应用程序都使用相同的数据库,我非常希望首先获得该工作。

应用信息:

存储:localStorage的密钥对和的WebSQL(的openDatabase();)

语言:HTML,CSS,JavaScript的

平台:Android蜂窝+

数据库:2个表,由id(INT),startTime(DATETIME),stopTime(DATETIME),shiftTime(FLOAT)组成的'temp'和'shift'。

我不是在寻找完整的代码示例如何做到这一点,我只需要一些建议,哪些方法是可能的,以及从哪里开始实施它们。我感谢你的时间,所以提前谢谢。

亲切的问候, 米切尔赎金

回答

0

在Android平台上的每个应用程序都有它自己独立的存储在/data/data/packagename,只有应用程序本身可以访问那里,在你的情况下,一个解决方案是包免费和付费应用程序为同一因此Android在免费应用程序上安装付费应用程序(它将保留用户数据,包括您的数据库)第二种解决方案是将数据库保存在sdcard中(不推荐),第三种是您指出的导入/导出功能。

+0

当你说在免费应用程序上安装付费应用程序,你能解释一点吗?我不认为这是可能的,但肯定这听起来像是解决我的问题的最佳方式。感谢您的帮助:) – Mitch

+0

每一个应用程序都有它自己的包线com.example.program名当你有com.example.program安装一个APK的然后尝试安装另一个包相同的包名Android将取代第二第一个程序一个和所有的用户达达将被取消,这种方法的问题是谷歌播放,因为你不能在谷歌播放系统中有两个相同的包名。 – Ocelot

+0

啊,那么我不能使用这种方法,因为我只使用Google Play分发我的应用程序。回到绘图板我去!如果您有关于创建通过JavaScript和PhoneGap的导入和导出功能,将是真棒,我的任何建议。感谢您的帮助。 – Mitch

相关问题