安卓系统,两个应用一个数据库?

8
我们正在开发一款Android应用程序,我们想制作两个版本,即专业版和免费版。问题在于我们的应用程序使用一个数据库,我们希望该数据库可供两个应用程序使用。这可能吗?
我的意思是,客户下载免费应用程序并使用它。然后他决定购买专业版,是否可以将数据从免费版传递到专业版?
谢谢。

答案的投票计数器下面有一个勾选标记。点击它来标记正确答案。 - bschultz
好的,谢谢。我不知道我在做什么,再次感谢。 - seipey
2个回答

14

只要两个不同的应用程序使用相同的私钥进行签名并具有相同的 sharedUserId,它们之间就不会被隔离,并且可以使用相同的数据库。无需将数据库存储在共享文件夹中,因为这可能会导致敏感数据泄露。

补充:

android:sharedUserId="com.yourprogram"

在您的清单文件中的 manifest 标签内,并使用相同的密钥对两个 APK 进行签名。详情请参见:http://developer.android.com/guide/topics/manifest/manifest-element.html


不错,我没想到那个。 - Brian Dupuis
我和楼主遇到了同样的问题。这个问题非常有帮助。如果数据库存储在免费版本的目录中,用户从设备中删除了免费版本,会发生什么?这会自动删除数据库吗?还是有一个选项只删除应用程序并保留数据? - Code-Apprentice
我不是100%确定,但我认为它会删除数据库。非免费版本在第一次运行时可以将数据库复制到自己的文件夹中。那样能解决你的问题吗? - Caner

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接