记住用户密码的登陆
2016-11-06 20:16
246 查看
一、运行效果图
二、核心代码
1.LoginActivity代码:
2.MainActivity的核心代码:
三、遇见的问题
记住密码后,退出再重新进入程序,不能点击用户,自动出现密码,只能用户名和密码同时存在
二、核心代码
1.LoginActivity代码:
public class LoginActivity extends Activity { private EditText etUsername; private EditText etPassword; private CheckBox cbRememberPass; private Button btnLogin; private SharedPreferences sp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_login); etUsername = (EditText) findViewById(R.id.etUsername); etPassword = (EditText) findViewById(R.id.etPassword); cbRememberPass = (CheckBox) findViewById(R.id.cbRememberPass); // autologin1 = (CheckBox) findViewById(R.id.autologin1); btnLogin = (Button) findViewById(R.id.btnLogin); cbRememberPass.setOnClickListener((OnClickListener) this); btnLogin.setOnClickListener((OnClickListener) this); sp = getSharedPreferences("userInfo", 0); String name = sp.getString("USER_NAME", ""); String pass = sp.getString("PASSWORD", ""); boolean choseRemember = sp.getBoolean("cbRememberPass", false); // boolean choseAutoLogin = sp.getBoolean("autologin1", false); // 如果上次选了记住密码,那登陆页面也自动勾选记住密码,并填上用户名和密码 if (choseRemember) { etUsername.setText(name); etPassword.setText(pass); cbRememberPass.setChecked(true); } // 如果上次登陆选了自动登录,那进入登陆页面也自动勾选自动登录 /* * if (choseAutoLogin) { autologin1.setChecked(true); } */ btnLogin.setOnClickListener(new OnClickListener() { private String userNameValue; private String passwordValue; // 默认可登陆账号android,密码123456 public void onClick(View v) { userNameValue = etUsername.getText().toString(); passwordValue = etPassword.getText().toString(); SharedPreferences.Editor editor = sp.edit(); if (userNameValue.equals("android") && passwordValue.equals("123456")) { Toast.makeText(LoginActivity.this, "登陆成功", Toast.LENGTH_SHORT).show(); // 保存用户名和密码 editor.putString("USER_NAME", userNameValue); editor.putString("PASSWORD", passwordValue); // 是否记住密码 if (cbRememberPass.isChecked()) { editor.putBoolean("cbRememberPass", true); } else { editor.putBoolean("cbRememberPass", false); } // 是否自动登陆 /* * if (autologin1.isChecked()) { * editor.putBoolean("autologin1", true); } else { * editor.putBoolean("autologin1", false); } */ // editor.commit(); // 跳转 Intent intent = new Intent(LoginActivity.this, MainActivity.class); startActivity(intent); } else { Toast.makeText(LoginActivity.this, "用户名或密码错误,请重新登陆", Toast.LENGTH_SHORT).show(); } } }); } public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } }
2.MainActivity的核心代码:
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /*public void go(View v){ //Intent intent = new Intent(this,LoginActivity.class); //startActivity(intent); Intent intent = new Intent(); intent.setClass(MainActivity.this, LoginActivity.cla 4000 ss); startActivity(intent); } //点击退出销毁登录记录 public void out(View v){ SharedPreferences spout = getSharedPreferences("userInfo",0); SharedPreferences.Editor ed = spout.edit(); ed.clear(); ed.commit(); Toast.makeText(this, "销毁记录", Toast.LENGTH_SHORT).show(); }*/ @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } }
三、遇见的问题
记住密码后,退出再重新进入程序,不能点击用户,自动出现密码,只能用户名和密码同时存在
相关文章推荐
- 登陆界面--记住密码、最近用户、修改密码
- 用户登陆记住密码-SharedPreferences实际应用
- 公司局域网内访问其他电脑,为了方便,第一次登录时用户名和密码选择了记住,现在想更换用户登陆
- 用户登陆记住密码
- 用户登陆记住密码
- 用户登录记住密码功能(记住登陆状态),下次不需要重新登录,注意安全问题!实现原理
- Android可记住用户密码登陆界面
- ajax验证用户登陆及记住密码
- ajax验证用户登陆及记住密码
- Oracle安装后忘记用户名或密码+创建新登陆用户
- VSS忘记Admin密码和修改默认登陆用户
- Mac下新安装的MySQL无法登陆root用户(安装时没有设置密码)
- 用户登录记住密码(SharePreference的使用)
- 用户登录并记住密码
- 登陆界面json方法 ajax请求,时间戳验证码、cookie记住密码、登陆判断
- Andriod数据存储(SharedPreferences)-用户登入记住密码练习
- Android数据存储——登陆案例(记住密码)
- 用户登录记住密码
- Oracle用户密码含有特殊字符导致无法登陆解决方法
- 飞鱼开发框架(一) 给软件登陆窗口增加记住密码和自动登陆功能(图文)