activity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<EditText
android:id="@+id/zhang"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40dp"
android:hint="请输入账号"
/>
<requestFocus />
<EditText
android:id="@+id/mima"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/zhang"
android:layout_centerHorizontal="true"
android:layout_margin="40dp"
android:ems="10"
android:hint="请输入密码" />
<CheckBox
android:id="@+id/jizhu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/mima"
android:layout_below="@+id/mima"
android:layout_marginTop="20dp"
android:text="记住账号" />
<CheckBox
android:id="@+id/zidong"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/jizhu"
android:layout_alignBottom="@+id/jizhu"
android:layout_alignRight="@+id/mima"
android:text="自动登录" />
<Button
android:id="@+id/button1"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_below="@+id/jizhu"
android:layout_centerHorizontal="true"
android:layout_marginTop="48dp"
android:text="登录" />
MainActivity:
package com.example.day_09;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
public class MainActivity extends Activity {
//定义变量
private EditText zhang,mima;
private CheckBox jizhu,zidong;
private Button deng;
private SharedPreferences shard;
private Editor editor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//1.获取资源iD
zhang=(EditText) findViewById(R.id.zhang);
mima=(EditText) findViewById(R.id.mima);
jizhu=(CheckBox) findViewById(R.id.jizhu);
zidong=(CheckBox) findViewById(R.id.zidong);
deng=(Button) findViewById(R.id.button1);
//2.得到SharedPreferences
shard=getSharedPreferences(“uuu”, MODE_PRIVATE);
//得到editor
editor=shard.edit();
//*************
boolean ji_checked = shard.getBoolean(“ji_ischecked”, false);
if(ji_checked){
//获取到shared的值
String ji_name = shard.getString(“name”, null);
String ji_pass = shard.getString(“pass”, null);
//放入到输入框
zhang.setText(ji_name);
mima.setText(ji_pass);
//记住账号选中
jizhu.setChecked(true);
}
//**********************
boolean zi_checked = shard.getBoolean(“zi_checked”, false);
if(zi_checked){
//不需要输入框直接跳到下一个页面
Intent it=new Intent(MainActivity.this,ActionLogin.class);
startActivity(it);
finish();
}
//当勾选了自动登录,每次启动项目,都会直接打开第二个页面
zidong.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if(isChecked){
//记住账号为选中状态
jizhu.setChecked(true);
}else{
//如果没选,则将shared存的数据全都清空,然后进入第一个页面,
editor.clear();
editor.commit();
}
}
});
//3.点击按钮
deng.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//4.判断记住账号是否是选中状态
/*如果选中,那么下次启动项目时,输入框有上次输入的值-->shaed保留输入的数据
* 会直接跳到第二个页面
* 如果未选中,下次启动项目时,输入框为空-->shaed没有数据
* 打开第一个页面
*/
if(jizhu.isChecked()){
//获得输入框的值
String name = zhang.getText().toString();
String pass = mima.getText().toString();
//将值存入到shard
editor.putString("name", name);
editor.putString("pass", pass);
//存入一个勾选了的状态值
editor.putBoolean("ji_ischecked", true);
//提交,此时,输入的值存到shared中,再下次启动时,将值从shared中取出来放到输入框
//且记住账号为选中状态,
editor.commit();
}else{
editor.clear();
editor.commit();
}
//判断自动登录是否选中
if(zidong.isChecked()){
editor.putBoolean("zi_ischecked", true);
editor.commit();
}
//跳转
Intent it=new Intent(MainActivity.this,ActionLogin.class);
startActivity(it);
finish();
}
});
}
}
ActivityLogin:
package com.example.day_09;
import android.app.Activity;
import android.app.Notification.Action;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/*
- 点击注销按钮,返回到第一个页面,此时输入框没值
*/
public class ActionLogin extends Activity{
private Button zhu;
private SharedPreferences shared;
private Editor editor;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_long);
//获取资源ID
zhu=(Button) findViewById(R.id.button1);
shared=getSharedPreferences(“uuu”, MODE_PRIVATE);
editor=shared.edit();
//点击注销按钮
zhu.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
editor.clear();
editor.commit();
Intent it=new Intent(ActionLogin.this,MainActivity.class);
startActivity(it);
finish();
}
});
}
}
activity_long.xml:
<?xml version="1.0" encoding="utf-8"?>
<TextView
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:text=“登录成功”
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="注销" />