我有三个活动,A、B 和 C。其中 A 是启动活动,B 包含登录屏幕,其中包含用户 ID 和密码文本字段以及一个登录按钮。当我点击登录时,它会将我带到欢迎屏幕,并在屏幕 C 上显示用户名。
在这里,我想实现共享首选项,以便我可以存储用户的用户名和密码,这样用户就不必再次插入用户名和密码,并且在启动屏幕后用户可以直接进入欢迎屏幕。
我阅读了一些有关共享首选项的文档,我发现共享首选项有两种类型,一种是活动级别,另一种是应用程序级别。
我怎样才能实现这个?
这相对容易。您可以将用户名和密码直接存储在 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
让我知道这是否对您有帮助。
Emmanuel
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)