Android 使用“SharedReferences”存储身份验证令牌

Android 使用“SharedReferences”存储身份验证令牌,android,Android,我在服务器上使用基于令牌的身份验证机制。当用户通过Android应用程序登录时,服务器返回令牌,该令牌需要随后续请求一起发送。我需要将该值存储在设备上。由于token是一个简单的字符串,我想我应该使用SharedReferences来保存该值。当应用程序在MyApplication extends application内部启动时,我会查询此令牌的SharedReferences,并将其作为全局状态保存在MyApplication内部,以便每个活动在向服务器发送请求时都可以访问它 这种方法可行吗

我在服务器上使用基于令牌的身份验证机制。当用户通过Android应用程序登录时,服务器返回令牌,该令牌需要随后续请求一起发送。我需要将该值存储在设备上。由于token是一个简单的字符串,我想我应该使用
SharedReferences
来保存该值。当应用程序在
MyApplication extends application
内部启动时,我会查询此令牌的
SharedReferences
,并将其作为全局状态保存在
MyApplication
内部,以便每个活动在向服务器发送请求时都可以访问它

这种方法可行吗?如果没有,它有哪些关键缺点?如果这是个坏主意,还有什么替代方法


注:这不是一个主观问题-我不是在要求最好的方法,我是在验证我的假设。

如果你不想使用
数据库或在文件上写入令牌,这是一个有效的选择。没有我能想到的缺点它相当安全。用户只有在其设备上建立根目录,才能访问
共享的参考资料。如果您非常担心安全性,您可以在将令牌存储在
SharedReferences
中之前对其进行加密。如果设备是根设备,则它有一个故障。如果设备是根设备,则用户可以从其设备的SharedReferences中查看令牌。我建议您使用Sugar将数据存储到数据库/SQLite,以便更好地访问服务器。

您考虑过使用android AccountManager吗?使用setAuthToken和getAuthToken?我没有,谢谢你的提示。乍一看,它似乎比通过
SharedReferences
保存令牌更难实现。但我可能会为未来考虑它肯定是头痛。这是“正确”的方法。