Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用共享首选项创建登录页面_Android_Sharedpreferences - Fatal编程技术网

Android 使用共享首选项创建登录页面

Android 使用共享首选项创建登录页面,android,sharedpreferences,Android,Sharedpreferences,我正在创建一个登录页面。我在这里使用SharedReferences。问题是,当选中“记住我”复选框时,我总是得到错误的密码。如果不使用SharedReferences,代码可以正常工作。谁能给我一个解决办法?提前谢谢 public class UserLoginActivity extends Activity implements View.OnClickListener { super.onCreate(savedInstanceState); setContentView(R.layo

我正在创建一个登录页面。我在这里使用SharedReferences。问题是,当选中“记住我”复选框时,我总是得到错误的密码。如果不使用SharedReferences,代码可以正常工作。谁能给我一个解决办法?提前谢谢

public class UserLoginActivity extends Activity implements View.OnClickListener {

super.onCreate(savedInstanceState);
setContentView(R.layout.login);

preference = PreferenceManager.getDefaultSharedPreferences(this);
login = (Button) findViewById(R.id.bLogIn);
username = (EditText) findViewById(R.id.etLoginEmail);
password = (EditText) findViewById(R.id.etPassword);
remember = (CheckBox) findViewById(R.id.chkRemember);
uID = preference.getString("userid", " ");
uPass = preference.getString("pass_word", " ");

username.setText(uID);
password.setText(uPass);
login.setOnClickListener(this);

public void onClick(View v){
switch (v.getId()) {
    case R.id.bLogIn:
        if(remember.isChecked()){
            SharedPreferences.Editor editor = preference.edit();
            editor.putString("userid", username.getText().toString().trim());
            editor.putString("pass_word", password.getText().toString().trim());                            
            editor.commit();

            login();
            }else {
                login();
            }

默认情况下,您返回空格,因此您的登录名和密码总是有空格。存储凭据时,会对其进行修剪,从而删除空间。因此,您可以创建类似于
'username'
的帐户,并将其存储为
'username'
。密码也一样。这可能是您的代码无法工作的原因。

是的!你是对的。我在这里发布问题后就解决了这个问题。谢谢你的回复。
uID = preference.getString("userid", " ");
uPass = preference.getString("pass_word", " ");