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

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

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

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

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

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

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;
 }

}

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

if (rem.isChecked()) {

  username_et.setText(sp.getString("username",Welcome.class);
  startActivity(intent1);
  }

 }

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

if (rem.isChecked()) {
   Editor editor=sp.edit();
   editor.putString("username",Welcome.class);
   startActivity(intent2);

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

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

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

相关文章

以下为个人理解,如错请评 CE: 凭据加密 (CE) 存储空间, 实际路径/data/user_ce/ DE: 设备加密 (DE) 存...
转载来源:https://blog.csdn.net/yfbdxz/article/details/114702144 用EventLog.writeEvent打的日志(或...
事件分发机制详解 一、基础知识介绍 1、经常用的事件有:MotionEvent.ACTION_DOWN,MotionEvent.ACTION...
又是好久没有写博客了,一直都比较忙,最近终于有时间沉淀和整理一下最近学到和解决的一些问题。 最近进...
Android性能优化——之控件的优化 前面讲了图像的优化,接下来分享一下控件的性能优化,这里主要是面向...
android的开源库是用来在android上显示gif图片的。我在网上查了一下,大家说这个框架写的不错,加载大的...