为什么我的记住密码不好使?谢谢
来源:3-5 用户管理—忘记重置密码开发

宝慕林7867458
2018-09-25
为什么我的记住密码不好使呢?可以帮我解答一下吗?谢谢`package com.example.jackson.lifeassistant.ui;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.example.jackson.lifeassistant.MainActivity;
import com.example.jackson.lifeassistant.R;
import com.example.jackson.lifeassistant.util.ShareUtils;
import cn.bmob.v3.BmobUser;
import cn.bmob.v3.exception.BmobException;
import cn.bmob.v3.listener.SaveListener;
public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
private TextView btn_registered;
private EditText user_name;
private EditText user_psd;
private TextView btn_tv_login;
private CheckBox xxx;
// private CheckBox keep_password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
//控件初始化
initView();
}
private void initView() {
btn_registered = (TextView)findViewById(R.id.btn_registered);
user_name = (EditText)findViewById(R.id.user_name);
user_psd = (EditText)findViewById(R.id.user_psd);
btn_tv_login = (TextView)findViewById(R.id.btn_tv_login);
// keep_password = (CheckBox)findViewById(R.id.keep_password);
xxx =(CheckBox)findViewById(R.id.xxx);
// xxx.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View view) {
// Toast.makeText(LoginActivity.this, “我被点击了”, Toast.LENGTH_SHORT).show();
// }
// });
//点击事件——注册
btn_registered.setOnClickListener(this);
//点击事件——登录
btn_tv_login.setOnClickListener(this);
//记住密码设置默认状态
boolean isCheck = ShareUtils.getBoolean(this,"keepass",false);
xxx.setChecked(isCheck);
if (isCheck){
//设置密码
user_name.setText(ShareUtils.getString(this,"name",""));
user_psd.setText(ShareUtils.getString(this,"password",""));
}
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btn_registered:
startActivity(new Intent(this,RegisteredActivity.class));
break;
case R.id.btn_tv_login:
//获取输入框值
String names = user_name.getText().toString().trim();
String psds = user_psd.getText().toString().trim();
//判断输入框是否为空
if(TextUtils.isEmpty(names) | TextUtils.isEmpty(psds)){
Toast.makeText(this, "输入框不能为空!", Toast.LENGTH_SHORT).show();
} else {
BmobUser bu2 = new BmobUser();
bu2.setUsername(names);
bu2.setPassword(psds);
// 使用BmobSDK提供的登录功能
bu2.login(new SaveListener<BmobUser>() {
@Override
public void done(BmobUser bmobUser, BmobException e) {
if(e==null){
//成功——跳转即可
startActivity(new Intent(LoginActivity.this, MainActivity.class));
finish();
//通过BmobUser user = BmobUser.getCurrentUser()获取登录成功后的本地用户信息
//如果是自定义用户对象MyUser,可通过MyUser user = BmobUser.getCurrentUser(MyUser.class)获取自定义用户信息
}else{
Toast.makeText(LoginActivity.this, "账户名或密码不正确", Toast.LENGTH_SHORT).show();
}
}
});
}
break;
}
}
//假设我现在输入用户和密码,但我不点击登录,而是直接退出
@Override
protected void onDestroy() {
super.onDestroy();
//保存状态
ShareUtils.putBoolean(this,"keeppass",xxx.isChecked());
//是否记住密码
if (xxx.isChecked()){
//记住
ShareUtils.putString(this,"name",user_name.getText().toString().trim());
ShareUtils.putString(this,"password",user_psd.getText().toString().trim());
} else {
//不记住
ShareUtils.deleShare(this,"name");
ShareUtils.deleShare(this,"password");
}
}
}
`
1回答
-
你只是记住了,还需要读取出来,进入手机目录 data/data/包名/sp/目录下可查看相关sp的属性,如果xml里有这个键值对,即说明你保存成功了
00
相似问题