登录界面 记住密码

来源:互联网 发布:软件过程模型 编辑:程序博客网 时间:2024/04/30 14:43

试验运行结果图



主要代码

MainActivity

package com.example.minitwittersimulate;    import android.app.Activity;  import android.content.Intent;  import android.content.SharedPreferences;  import android.content.SharedPreferences.Editor;  import android.os.Bundle;  import android.os.Message;  import android.view.View;  import android.view.View.OnClickListener;  import android.view.Window;  import android.widget.Button;  import android.widget.CheckBox;  import android.widget.EditText;    public class LoginActivity extends Activity {        static String YES = "yes";      static String NO = "no";      private CheckBox checkBox1;      private Button login;      private EditText edtuser, edtpsd;      static String name, password;      private String isMemory = "";// isMemory变量用来判断SharedPreferences有没有数据,包括上面的YES和NO      private String FILE = "saveUserNamePwd";// 用于保存SharedPreferences的文件      private SharedPreferences sp = null;// 声明一个SharedPreferences        @Override      protected void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          requestWindowFeature(Window.FEATURE_NO_TITLE);          setContentView(R.layout.activity_login);            login = (Button) findViewById(R.id.btnLogin);          edtuser = (EditText) findViewById(R.id.etUsername);          edtpsd = (EditText) findViewById(R.id.etPassword);          checkBox1 = (CheckBox) findViewById(R.id.cbRememberPass);          sp = getSharedPreferences(FILE, MODE_PRIVATE);          isMemory = sp.getString("isMemory", NO);          // 进入界面时,这个if用来判断SharedPreferences里面name和password有没有数据,有的话则直接打在EditText上面          if (isMemory.equals(YES)) {              name = sp.getString("name", "");              password = sp.getString("password", "");              edtuser.setText(name);              edtpsd.setText(password);          }          Editor editor = sp.edit();          editor.putString(name, edtuser.toString());          editor.putString(password, edtpsd.toString());          editor.commit();          // 触击登录按钮,执行remenber方法文本框里的信息重新写入SharedPreferences里面覆盖之前的,去除掉勾选框,触击登录按钮执行remenber方法就将之前保存到SharedPreferences的数据清除了          login.setOnClickListener(new OnClickListener() {              @Override              public void onClick(View v) {                  name = edtuser.getText().toString();                  password = edtpsd.getText().toString();                  remenber();                  Intent it = new Intent(LoginActivity.this, MainActivity.class);// 跳转                  startActivity(it);              }          });      }        // remenber方法用于判断是否记住密码,checkBox1选中时,提取出EditText里面的内容,放到SharedPreferences里面的name和password中      public void remenber() {          if (checkBox1.isChecked()) {              if (sp == null) {                  sp = getSharedPreferences(FILE, MODE_PRIVATE);              }              Editor edit = sp.edit();              edit.putString("name", edtuser.getText().toString());              edit.putString("password", edtpsd.getText().toString());              edit.putString("isMemory", YES);              edit.commit();          } else if (!checkBox1.isChecked()) {              if (sp == null) {                  sp = getSharedPreferences(FILE, MODE_PRIVATE);              }              Editor edit = sp.edit();              edit.putString("isMemory", NO);              edit.commit();          }      }  }  


0 0
原创粉丝点击