检查用户名和密码是否正确

时间:2012-02-28 10:52:23

标签: java android sql sharedpreferences

我正在开发一个应用程序,您必须使用用户名和密码登录。我已经完成了让用户在首选项中输入他们的信息,但我不知道如何在我的主xml中的2个文本字段中实现测试。

如果用户的登录信息正确无误,我将如何从首选项中检索数据并检查?

<PreferenceCategory android:title="Sign up for Ebenezer&apos;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);
                }
            }
        });

代码不会给我错误,但它没有做任何事情。请帮忙。我的印象是我的所有课程都能看到我的偏好是正确的吗?因为如果没有那么那个男人我需要把我的喜好叫到这个班级。如果有人知道的话请告诉我。

2 个答案:

答案 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)