我正在创建一个应用程序,我使用sqlite作为数据库。但每当我卸载并重新安装我的应用程序时,我在卸载应用程序之前所做的以前的帐户都不存在。
我希望如果用户在其上创建帐户然后卸载该应用程序,那么每当他/她将重新安装它时,他/她之前的注册帐户应该存在。
有没有办法这样做?请分享。 谢谢!
答案 0 :(得分:1)
我建议使用API调用和SharedPreference在其设备IMEI号上存储特定用户帐户。
每当用户打开应用时
首先检查用户帐号是否在本地退出,如果没有,则使用基于设备IMEI号的API调用进行检查,即使服务器没有提供的IMEI号信息,也允许登录APP。
这将永久解决您的问题。
答案 1 :(得分:0)
当您从设备卸载应用程序时,所有应用程序数据都会从Android设备中删除。因此无法满足您的要求。
如果您没有卸载应用程序,则意味着使用共享首选项进行下一次自动注册。它将满足您的要求。
答案 2 :(得分:0)
卸载应用时,会删除应用的整个数据目录。这包括数据库,首选项,其他文件,缓存等。在您的情况下,有两种方法可以满足您的要求。
1)安装后检查后端/服务是否该设备先前已在系统中创建了任何帐户并完成登录并再次存储到您的SQlite数据库或共享首选项。在这里,您需要使用设备的唯一标识符(IMEI编号/ UDID)作为源来检查它。首先检查用户帐户是否在本地退出,如果不是,则使用基于设备唯一标识符的API调用进行检查
2)在SD卡中创建SQlite数据库,而不是创建默认数据库。您可以尝试将数据库保存到SD卡,然后从那里读取,如this。但是,如果用户更改SD卡或将其安装到计算机预蜂窝,您将失去对数据库的访问权限。
另一个选择是定期将其备份到服务器并从那里手动恢复备份,或者实现类似Google BackupAgent的功能,如果用户将他/她的设备配置为备份数据,它将自动备份数据已注册的Google帐户。
如果您担心其他人正在阅读您的数据,请使用AES或其他加密技术对其进行加密。