我正在寻找类似Keychain
iPhone 上的东西,但用于 Android 开发。即使用户重新安装应用程序,我也能够保存持久且不变的小键值对。
有没有类似的东西?我可以那样使用标准偏好吗?
我想实现类似于它在 PC 上处理游戏的方式的行为 - 将保存文件写入另一个文件夹,以便在删除和重新安装后保存文件不会丢失。
编辑:
赏金在没有人提及的情况下用完了accountManager
。我只是偶然发现了它。那会是实现我描述的行为的方法吗?
我正在寻找类似Keychain
iPhone 上的东西,但用于 Android 开发。即使用户重新安装应用程序,我也能够保存持久且不变的小键值对。
有没有类似的东西?我可以那样使用标准偏好吗?
我想实现类似于它在 PC 上处理游戏的方式的行为 - 将保存文件写入另一个文件夹,以便在删除和重新安装后保存文件不会丢失。
编辑:
赏金在没有人提及的情况下用完了accountManager
。我只是偶然发现了它。那会是实现我描述的行为的方法吗?
您像 Michael Cramer 所说的那样使用 SD 卡上的存储空间(让用户知道您正在存储数据 :-))。删除应用程序时不会删除 SD 卡上的数据。
另一方面,您可以使用存储所有详细信息的服务器,这些详细信息可以在需要时下载,而不是使用用户名,而是使用手机的唯一 IMEI。这样,即使用户重新安装操作系统,他仍然可以重新获取设置。
要获取 IMEI,您可以参考:如何在 android 中以编程方式获取设备的 IMEI/ESN?
你在这里有真实的东西:
通过将 Smart Lock for Passwords 集成到您的 Android 应用程序中,您可以使用用户保存的凭据自动登录您的应用程序。用户可以保存用户名密码凭证和联合身份提供者凭证。
使用凭据 API 将 Smart Lock for Passwords 集成到您的应用程序中,以便在登录时检索保存的凭据。使用成功检索的凭据让用户登录,或使用 Credentials API 通过部分完成应用程序的登录或注册表单来快速加入新用户。在登录或注册后提示用户存储其凭据以供将来自动验证。
https://developers.google.com/identity/smartlock-passwords/android/
由于 Android 和 iPhone 之类的手机通常会使用数据计划运行,因此我建议您将键值对保存到集中式服务器中。当应用程序完成卸载,然后是安装过程时,只需将其与您的服务器重新同步即可。
是的。首选项是持久的,并且会在正常的应用程序升级后继续存在。