关于ZAKER 融媒体解决方案 合作 加入

共享首选项 Android

CocoaChina 10-14

大家好 ,

我有三个活动 . A,B 和 C. 其中 A 是启动活动 ,B 包含由用户 ID 和密码文本字段以及一个用于登录的按钮组成的登录屏幕 . 当我单击登录时 , 将带我到欢迎屏幕 , 在屏幕 C 上显示用户名 .

在这里 , 我想实现 Shared Prefrence, 以便我可以存储用户的用户名和密码 , 这样用户不必再次插入用户名和密码 . 再次 , 在弹出屏幕后 , 用户直接进入欢迎屏幕 .

我阅读了一些有关共享优先的文档 , 然后我知道共享优先有两种类型 , 一种是活动级别 , 另一种是应用程序级别 .

请在这种情况下为我提供帮助 , 我该如何实施…非常紧急的请求 .

最佳答案

这是相对容易的 . 您可以将用户名和密码直接存储在 SharedPreference 中 , 如下所示:

SharedPreferences p = PreferenceManager.getDefaultSharedPreferences ( context ) ;p.edit ( ) .putString ( "username", username ) .commit ( ) ;p.edit ( ) .putString ( "password", password ) .commit ( ) ; //SECURITY HAZARD: read below...

然后 , 您可以像这样检索它:

String username = p.getString ( "username", "" ) ;String password = p.getString ( "password", "" ) ;

这样做的问题是密码在全局范围内可用 . 您需要一种防止他人查看的方法 . 这样做的方法是在保存密码时对其进行加密 , 并在使用对称密钥加载密码时对其进行解密 . 这是有关加密的教程:http://android.voxisland.com/code_examples/How_to_encrypt_and_decrypt_strings.rhtml

让我知道这是否对您有帮助 .

灵光

以上内容由"CocoaChina"上传发布 查看原文
相关标签 android屏幕密钥