我正在开发一个应用程序,您必须使用用户名和密码登录。我已经完成了让用户在首选项中输入他们的信息,但我不知道如何在我的主xml中的2个文本字段中实现测试。
如果用户的登录信息正确无误,我将如何从首选项中检索数据并检查?
<PreferenceCategory android:title="Sign up for Ebenezer's Notepad" >
</PreferenceCategory>
<EditTextPreference
android:key="usernamePref"
android:title="Create a Login Username" >
</EditTextPreference>
<EditTextPreference
android:key="passwordPref"
android:title="Create a Login Password" >
</EditTextPreference>
<EditTextPreference
android:key="reEnterPref"
android:title="Please Re-Enter Password" >
</EditTextPreference>
这是我的偏好.xml
我的代码更新
final EditText username = (EditText) findViewById(R.id.userName);
final EditText password = (EditText) findViewById(R.id.password);
ImageView Notepad = (ImageView) findViewById(R.id.notepad);
SharedPreferences sp = PreferenceManager
.getDefaultSharedPreferences(this);
final String user = sp.getString("usernamePref", null);
final String pass = sp.getString("passwordPref", null);
final String users = username.getText().toString();
final String passw = password.getText().toString();
Login.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (user == users && pass == passw) {
Intent nextScreen1 = new Intent(getApplicationContext(),
Notepad.class);
startActivity(nextScreen1);
}
}
});
代码不会给我错误,但它没有做任何事情。请帮忙。我的印象是我的所有课程都能看到我的偏好是正确的吗?因为如果没有那么那个男人我需要把我的喜好叫到这个班级。如果有人知道的话请告诉我。
答案 0 :(得分:2)
通过Folloting编码,你可以根据需要比较 EditTextPreference 值。
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
String username = sp.getString("usernamePref",null);
String password= sp.getString("passwordPref",null);
**朋友不要使用== operator使用.equals方法,如if(user.equals(users) && pass.equals(passw))
答案 1 :(得分:1)