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

标签 java android encryption preferences credentials

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

我试图通过共享首选项来实现,但我不确定这是否是最佳解决方案。

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

最佳答案

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

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

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

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

相关文章:

java - NoClassDefFoundError : Mockito Bytebuddy

java - tomcat上的 Multi-Tenancy

Android fragment popBackStack 和替换不删除 View

Python 在凯撒密码的暴力破解阶段提供仅可打印 ASCII 字符集 (32-126) 的协助

database - 您将如何处理数据库中的敏感数据?

java - 删除前检查是否违反外键约束

java - 点击按钮,绘制矩形

java - 调用弱引用对象的方法

android - 如何在多行TextView的末尾插入ImageView?

java - 使用柱状转置的排序不正确