这个SharedPreferences代码在Android中有什么作用?

时间:2014-07-23 01:31:52

标签: java android

我理解SharedPreferences的功能,但仍然在努力解决这段代码试图做的事情。

SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext());

if (sharedPref.getBoolean("login", false)) {

    edtUser.setText(sharedPref.getString("user", ""));
    edtPass.setText(sharedPref.getString("pass", ""));

    new SigninTask().execute("user=" + edtUser.getText(), "pass=" + edtPass.getText());
}

我知道第一行是访问默认的SharedPreferences文件。但是我仍然感到困惑,这套代码究竟做了什么?它试图得到什么信息?最后一行做什么? (new SigninTask())..

1 个答案:

答案 0 :(得分:1)

sharedPref.getString("user", "")尝试使用SharedPreferences中的密钥user获取首选项。如果找不到,则返回一个空字符串。此值将加载到Text控件(我假设,因为您没有包含edtUser的定义)。 pass的值也是如此,它可能代表密码。

基本上,此应用可能会在应用的用户在之前的应用启动中输入的userpassword存储在SharedPreferences中,因此用户不会每次启动应用程序时再次输入它们。

应该有其他代码可以将输入的userpass存储在SharedPreferences中,并将login首选项存储为值true