为什么我的记住密码不好使?谢谢

来源: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回答

刘某人

2018-09-26

你只是记住了,还需要读取出来,进入手机目录 data/data/包名/sp/目录下可查看相关sp的属性,如果xml里有这个键值对,即说明你保存成功了

0
0

带领新手快速开发Android App

【毕设】用热门Android SDK及框架,快速开发一个Android App

1498 学习 · 393 问题

查看课程