2017-07-27 49 views
-1

中创建永久注册帐户我在制作应用程序,并将sqlite用作数据库。但是,每当我卸载并重新安装我的应用程序,我卸载应用程序之前所做的以前的帐户不存在。如何在android

我想让它,如果用户在其上创建帐户,然后卸载该应用程序,那么只要他/她将重新安装,他/她以前注册帐户应该存在的方式。

有没有办法做到这一点?请分享。 谢谢!

+0

为此,您可以使用外部数据库并将您的数据存储在其中。 –

+1

卸载应用程序的要点是摆脱它和它的相关组件,这是默认情况下android所做的事情,应用程序的数据(例如登录凭据)存储在应用程序仅可访问的私有位置,您可以尝试将其存储在其他位置,但这会使用户的数据易受攻击。总之,没有办法实现你想要的东西而不影响用户的安全 – AguThadeus

回答

0

我建议使用API​​调用和SharedPreference用于存储他的设备的IMEI号码在一个特定的用户帐户。

每当用户打开一个应用程序

首先检查用户帐户是否在本地退出,如果没有,那么通过使用API​​调用基于设备的IMEI号码查询,即使服务器没有有关的信息提供IMEI号码,然后允许登录到APP。

这将永久解决您的问题。

0

当您从设备上卸载应用程序时,所有应用程序数据都会从android设备中删除。所以不可能满足您的要求。

如果你不卸载应用程序意味着明年汽车共享使用偏好签署up.Its会为你的需求。

0

当您卸载您的应用程序时,应用程序的整个数据目录被删除。这包括数据库,首选项,其他文件,缓存等。在您的情况下,有两种可能的方式来满足您的要求。

1)通过后端/服务是否有在系统中创建的所有帐户该设备并获得登录完成,再存储到您的SQLite数据库或共享偏好安装检查后。在这里您需要使用设备的唯一标识符(IMEI号码/ UDID)作为源来检查它。首先检查用户帐户是否在本地退出,如果没有,那么通过使用基于设备唯一标识符

2 API调用查询)创建于SD卡,而创建一个默认的SQLite数据库。您可以尝试将数据库保存到SD卡,并从那里读取,如this。但是,如果用户更改SD卡或将其装载到计算机预蜂窝中,则您将无法访问数据库。

另一种选择是定期将其备份到服务器,并手动从那里恢复备份,或者实施类似Google BackupAgent的备份,如果用户配置他/她的设备进行备份,则会自动备份数据它所注册的Google帐户。

如果你担心你的数据被他人读取,使用AES或其他一些加密技术进行加密。

+0

你的意思是把应用移到SD卡上? –

+0

不是应用程序,而是创建用于存储数据的SQLite数据库。但它有一些限制,我在回答 –

+0

中提到将sqlite保存到SDcard中。你可以在这里查看https://stackoverflow.com/questions/22012544/android-keep-database-after-uninstalling-app –