qq_40206400 2018-10-26 08:11 采纳率: 0%
浏览 958

为什么退出app再进没有之前保存的账号密码?

下面是MainActivity.java

import android.support.v7.app.AppCompatActivity;
import java.util.Map;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {
    private EditText etNumber;
    private EditText etPassword;
    private CheckBox cbRemember;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        // 取出号码
        Map<String, String> userInfo = Utils.getUserInfo(this);
        if(userInfo != null) {
            // 显示在界面上
            etNumber.setText(userInfo.get("number"));
            etPassword.setText(userInfo.get("password"));
        }
    }

    private void initView() {
        etNumber = (EditText) findViewById(R.id.et_number);
        etPassword = (EditText) findViewById(R.id.et_password);
        cbRemember = (CheckBox) findViewById(R.id.cb_remember);
        findViewById(R.id.btn_login).setOnClickListener(this);
    }

    public void onClick(View v) {
        // 当点击登录时,获取QQ号码 和密码
        String number = etNumber.getText().toString().trim();
        String password = etPassword.getText().toString();
        // 校验号码和密码是否正确
        if(TextUtils.isEmpty(number)) {
            Toast.makeText(this, "请输入ID", Toast.LENGTH_SHORT).show();
            return;
        }
        if(TextUtils.isEmpty(password)) {
            Toast.makeText(this, "请输入密码", Toast.LENGTH_SHORT).show();
            return;
        }
        // 登录成功
        Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT).show();
        // 如果正确, 判断是否勾选了记住密码
        if(cbRemember.isChecked()) {
        Log.i("MainActivity", "记住密码: " + number + ", " + password);
        // 保存用户信息
        boolean isSaveSuccess = Utils.saveUserInfo(this, number, password);
        if(isSaveSuccess) {
            Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, "保存失败", Toast.LENGTH_SHORT).show();
           }
           }
    }
}

Utils.java

 package com.open_open.myapplication;

import java.util.HashMap;
import java.util.Map;

import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;

public class Utils {

    public static boolean saveUserInfo(Context context, String number,
                                       String password) {
        SharedPreferences sp = context.getSharedPreferences("data",
                Context.MODE_PRIVATE);
        Editor edit = sp.edit();
        edit.putString("userName", number);
        edit.putString("pwd", password);
        edit.putString("pwd", password);
        return true;
    }
            public static Map<String, String> getUserInfo(Context context) {
        SharedPreferences sp = context.getSharedPreferences("data",Context.MODE_PRIVATE);
        String number = sp.getString("userName", null);
        String password = sp.getString("pwd", null);
        Map<String, String> userMap = new HashMap<String, String>();
        userMap.put("number", number);
        userMap.put("password", password);
        return userMap;
    }
}

  • 写回答

2条回答 默认 最新

  • 普通网友 2018-11-15 10:57
    关注

    SharedPreferences sp = context.getSharedPreferences("data",
    Context.MODE_PRIVATE);
    Editor edit = sp.edit();
    edit.putString("userName", number);
    edit.putString("pwd", password);
    edit.putString("pwd", password);
    后面要调用edit.commit();才能缓存

    评论

报告相同问题?

悬赏问题

  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图
  • ¥30 乘子法解约束最优化问题的matlab代码文件,最好有matlab代码文件
  • ¥15 写论文,需要数据支撑
  • ¥15 identifier of an instance of 类 was altered from xx to xx错误
  • ¥100 反编译微信小游戏求指导
  • ¥15 docker模式webrtc-streamer 无法播放公网rtsp
  • ¥15 学不会递归,理解不了汉诺塔参数变化
  • ¥15 基于图神经网络的COVID-19药物筛选研究
  • ¥30 软件自定义无线电该怎样使用