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