java - 在Android应用程序中存储用户设置的最合适方法是什么

标签 java android encryption preferences credentials

我正在创建一个使用用户名/密码连接到服务器的应用程序,我想启用“保存密码”选项,这样用户就不必在每次应用程序启动时都输入密码。

我尝试使用共享首选项,但不确定这是否是最佳解决方案。

如果有任何关于如何在 Android 应用程序中存储用户值/设置的建议,我将不胜感激。

最佳答案

一般而言,SharedPreferences 是您存储首选项的最佳选择,因此一般而言,我建议使用这种方法来保存应用程序和用户设置。

这里唯一需要关注的是您要保存的内容。存储密码总是一件棘手的事情,我会特别小心将它们存储为明文。 Android 架构是这样的,您的应用程序的 SharedPreferences 被沙盒化,以防止其他应用程序能够访问这些值,因此那里有一些安全性,但对手机的物理访问可能会允许访问这些值。

如果可能,我会考虑修改服务器以使用协商 token 来提供访问权限,例如 OAuth .或者,您可能需要构建某种加密存储,尽管这并非易事。至少,确保在将密码写入磁盘之前对其进行了加密。

关于java - 在Android应用程序中存储用户设置的最合适方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/785973/

相关文章:

java - 使用 @RequestParam 发布 JSON

java - 最新的Android开发者设置指南?

ios使用des ecb解密base64编码的字符串

java - 如何拖动多边形?

java - 创建从资源路径到 jar 文件中图像的文件对象

android - 如何通过adb获取android手机的电话号码?

android - Kotlin 中的单例类

java - 如何在java代码中使用wrap_cotent创建LinearLayout?

amazon-web-services - 在不影响存储类的情况下对现有 S3 对象应用加密

c# - 是否有执行数据压缩和加密的明确命令