我有免费和付费应用。如果用户首先尝试free version
并获得例如10 gold
,然后升级到付费版本,我希望他保留10 gold
而不是重新开始。
那么有没有办法在应用之间共享和访问数据?而且我不想将其保存到SD card
的根目录,因为用户可以通过这种方式轻松修改它。
答案 0 :(得分:1)
我认为一些开发人员通过使用他们的付费应用程序来检查付款(如果它已经安装,你已付费)并在免费版本中保留所有内容(代码明智)来规避这一点。您也可以只加密/解密写入SD卡的数据。这也可以让用户更容易备份/恢复这些保存(如果重新安装应用程序或类似的东西,任何东西都不会丢失)。
答案 1 :(得分:0)
您可以在应用程序数据文件夹中创建文件。并保存在那里。
/data/data/your_complete_package/your_data_filename
当然,您需要使用此手机独有的功能对其进行加密。
因此他们无法将此文件移至另一部手机使用。
请注意,应用数据文件夹下的文件将与您的应用一起卸载。
答案 2 :(得分:0)
我认为Android内容提供商可能会解决此问题: http://developer.android.com/guide/topics/providers/content-providers.html
内容提供商管理对结构化数据集的访问。它们封装了数据,并提供了定义数据安全性的机制。内容提供程序是标准的>接口,它将一个进程中的数据与另一个进程中运行的代码连接起来。
您的应用可以实现ContentProvider并导出您需要共享的数据,而不是您的免费&付费版本可以通过ContentProvider共享数据,就像您访问Google合约一样。
BTW,ContentProvider支持SQLite& XML,这意味着您可以根据需要将其存储在内存或SD卡中。
答案 3 :(得分:0)
我的解决方案是维护某种远程服务器,为用户保存所有数据。用户在进入应用程序时登录,使用服务器进行身份验证,并提供所有可用数据。
任何本地解决方案都不是持久的。如果用户删除了他/她的应用程序该怎么办?如果手机损坏且应用程序无法恢复?
作为任何应用的付费用户,我希望通过不同的设备将付费数据移植。
就这件事而言,只需2美分......