我正在开发一款Android应用。此应用程序存储相对于其功能的首选项(用户设置),如首选图像质量等等。也购买。
我的问题是:如何在Android中存储这些设置,即使应用程序被删除也能保持持久性。
具体购买。我希望用户能够购买应用内功能,卸载应用,如果他重新安装应用并按“恢复购买”按钮,则会恢复以前购买的功能。
我目前正在使用Android的SharedPreferences来存储这些设置。我想就这是否适合我的目的发表评论。
答案 0 :(得分:3)
如果您使用共享偏好设置,则无法使用。我们无法使用共享首选项永久存储数据。最好的方法是使用Web服务作为后端。
答案 1 :(得分:1)
您的具体案例的简短答案是在设置应用内结算时使用"managed by user account"购买类型。
关于一般情况,您的应用的SharedPreferences
会在卸载您的应用时被删除,所以不会,这不起作用。卸载后保留的唯一数据是存储在外部存储器中的 public 目录中(通常但不总是SD卡)。在卸载过程中,您的应用程序的外部存储器上的私人目录以及数据库SharedPreferences
等将被删除。
使用外部存储的公共区域来尝试为此目的保存用户数据的形式很差(并且不太可靠)。正如@anoop建议的那样,正确解决跨设备存储用户数据或卸载/重新安装周期的一般问题,将其发送到服务器。