前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >android实现记住用户名和密码以及自动登录

android实现记住用户名和密码以及自动登录

作者头像
砸漏
发布2020-10-16 11:01:41
2.6K0
发布2020-10-16 11:01:41
举报
文章被收录于专栏:恩蓝脚本

毕业刚开始上班接触的第一个项目移动护士站,接到了第一任务就是登录,要用到自动登录功能,所以在这做个记录,以后用的时候直接来粘贴复制,废话少说,直奔主题

先上一下效果图,由于只是实现功能,界面没有美化,见谅

由于xml文件内容,就不展现在这了,自己写一写就好,爸妈再也不用担心我的学习了,so easy

代码语言:javascript
复制
package com.sdufe.login;
 
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;
 
/**
 * @author lili.guo
 *
 * 2014-6-6下午3:20:17
 */
public class MainActivity extends Activity {
 
 private EditText username_et;
 private EditText password_et;
 private CheckBox rem;
 private CheckBox auto;
 private Button login;
 private String username,password;
 SharedPreferences sp;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 
 sp=getSharedPreferences("userInfo",Context.MODE_WORLD_READABLE);
 
 username_et=(EditText) findViewById(R.id.username);
 password_et=(EditText) findViewById(R.id.password);
 rem=(CheckBox) findViewById(R.id.remember);
 auto=(CheckBox) findViewById(R.id.autologin);
 login=(Button) findViewById(R.id.login);
 
 if (rem.isChecked()) {
 
 username_et.setText(sp.getString("username", ""));
 password_et.setText(sp.getString("password", ""));
 
 if (auto.isChecked()) {
 Intent intent1=new Intent();
 intent1.setClass(getApplicationContext(), Welcome.class);
 startActivity(intent1);
 }
 
 }
 
 login.setOnClickListener(new View.OnClickListener() {
 
 @Override
 public void onClick(View v) {
 // TODO Auto-generated method stub
 username=username_et.getText().toString();
 password=password_et.getText().toString();
 
 if (username.equals("Thea")&&password.equals("123")) {
  
  Toast.makeText(getApplicationContext(), "登录成功", Toast.LENGTH_SHORT).show();
  
  if (rem.isChecked()) {
  Editor editor=sp.edit();
  editor.putString("username", username);
  editor.putString("password", password);
  editor.commit();
  }
  
  Intent intent2=new Intent();
  intent2.setClass(getApplicationContext(), Welcome.class);
  startActivity(intent2);
 }
 
 
 }
 });
 }
 
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
 // Inflate the menu; this adds items to the action bar if it is present.
 getMenuInflater().inflate(R.menu.main, menu);
 return true;
 }
 
}

用户名和密码是写死的,为了方便有需要的人学习,稍微解释一下

代码语言:javascript
复制
if (rem.isChecked()) {
 
 username_et.setText(sp.getString("username", ""));
 password_et.setText(sp.getString("password", ""));
 
 if (auto.isChecked()) {
 Intent intent1=new Intent();
 intent1.setClass(getApplicationContext(), Welcome.class);
 startActivity(intent1);
 }
 
 }

以上代码意思是如果记住密码就拿到本地存储的用户名和密码,如果是自动登录则直接跳转的下一个网页

代码语言:javascript
复制
if (rem.isChecked()) {
  Editor editor=sp.edit();
  editor.putString("username", username);
  editor.putString("password", password);
  editor.commit();
  }
  
  Intent intent2=new Intent();
  intent2.setClass(getApplicationContext(), Welcome.class);
  startActivity(intent2);

以上代码意思是说如果是记住密码的状态,则把用户名和密码写到本地

注意一点哈,跳转到下一个activity时,要修改一下AndroidManifest.xml文件,ok,结束。

以上就是本文的全部内容,希望对大家的学习有所帮助。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档