我理解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())..
答案 0 :(得分:1)
sharedPref.getString("user", "")
尝试使用SharedPreferences中的密钥user
获取首选项。如果找不到,则返回一个空字符串。此值将加载到Text控件(我假设,因为您没有包含edtUser
的定义)。
pass
的值也是如此,它可能代表密码。
基本上,此应用可能会在应用的用户在之前的应用启动中输入的user
和password
存储在SharedPreferences中,因此用户不会每次启动应用程序时再次输入它们。
应该有其他代码可以将输入的user
和pass
存储在SharedPreferences中,并将login
首选项存储为值true
。