登陆界面记住密码

一:设置好布局

<1>activity_main.xml

<LinearLayout 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"
    android:orientation="vertical"
    android:background="@drawable/loginbg"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

  <include layout="@layout/login_top"/> 
  <include layout="@layout/login_bottom"/>"

</LinearLayout>

 

<2>login_bottom.xml

<3>login_top.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/btnbg_roundcorner"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >

    <TextView
        android:id="@+id/tvUsername"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="@string/tvName"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/etUsername"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/tvUsername"
        android:layout_below="@+id/tvUsername"
        android:background="@android:drawable/edit_text"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/tvPassword"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/etUsername"
        android:layout_below="@+id/etUsername"
        android:text="@string/tvPassword"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/etPassword"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/tvPassword"
        android:layout_below="@+id/tvPassword"
        android:layout_marginTop="16dp"
        android:background="@android:drawable/edit_text"
        android:ems="10"
        android:inputType="textPassword" />

     <CheckBox
         android:id="@+id/cbRememberPass"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignLeft="@+id/etPassword"
         android:layout_below="@+id/etPassword"
         android:text="记住密码" />

     <Button
         android:id="@+id/btnLogin"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignRight="@+id/etPassword"
         android:layout_alignTop="@+id/cbRememberPass"
         android:background="#FF72CAE1"
         android:text="@string/btnLogin" />

</RelativeLayout>

<4>show.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  >
  <TextView 
  android:layout_height="fill_parent"
  android:layout_width="fill_parent"
  android:text="showTime!"
  android:textSize="40sp"
  android:gravity="center"/>
    
</LinearLayout>


二:进行代码编写

<1>mianactivity.java

package com.example.minitwittersimulate;

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.view.Window;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
 private EditText etUsername;  //账号
 private EditText etPassword;   //密码
 private CheckBox cbRememberPass;   //是否记住密码
 private Button  btnLogin;    //登陆按钮
 
 //声明一个sharedpreferences用于保存数据
 private SharedPreferences mSpSettings=null;
 private static final String PREFS_NAME="NamePwd";
 
 

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  //得到布局中的控件
  findView();
  //绑定控件事件
  setListener();
  //获取数据
  getData();
  
  
 }
 protected void onResume(){
  //在界面显示数据之前存储的数据
  super.onResume();
  getData();
 }

 private void getData() {
  // TODO Auto-generated method stub
  //得到sharedpreferernces对象
  mSpSettings=getSharedPreferences(PREFS_NAME,MODE_PRIVATE);
  //判断之前是否存储过用户名和密码
  if(mSpSettings.getBoolean("iskeep", false)){
   //如果之前存储过,则显示在相应的文本框内
   etUsername.setText(mSpSettings.getString("username", ""));
   etPassword.setText(mSpSettings.getString("password",""));
  }else{
   //否则显示空
   etUsername.setText("");
   etPassword.setText("");
   
  }
  
 }

 private void setListener() {
  // TODO Auto-generated method stub
  btnLogin.setOnClickListener(new OnClickListener() {
 
   public void onClick(View arg0){
    //判断用户名和密码
    if("admin".equals(etUsername.getText().toString())&&"123".equals(etPassword.getText().toString())){
   //判断复选框是否选中
   if(cbRememberPass.isChecked()){
    mSpSettings=getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
    //得到editor对象
    Editor edit=mSpSettings.edit();
    //记录保存标记
    edit.putBoolean("iskeep", true);
    //记录用户名
    edit.putString("username", etUsername.getText().toString());
    //记录密码
    edit.putString("password", etPassword.getText().toString());
    edit.commit();//一定要提交
   }
   else{
    mSpSettings=getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
    //得到editor对象
    Editor edit=mSpSettings.edit();
    //记录保存标记
    edit.putBoolean("iskeep", false);
    //记录用户名
    edit.putString("username", "");
    //记录密码
    edit.putString("password", "");
    edit.commit();
    
   }
   //跳转到首页
   Intent intent=new Intent(MainActivity.this,SuccessActivity.class);
   startActivity(intent);
   
  }else{
   //显示错误信息
   Toast.makeText(getApplicationContext(), "用户名或密码错误", Toast.LENGTH_SHORT).show();
  }
    
   }  });
  
 }

 private void findView() {
  // TODO Auto-generated method stub
  
  etUsername=(EditText) findViewById(R.id.etUsername);
  etPassword=(EditText) findViewById(R.id.etPassword);
  cbRememberPass=(CheckBox) findViewById(R.id.cbRememberPass);
  btnLogin=(Button) findViewById(R.id.btnLogin);
 }

}




<2>successactivity.java

package com.example.minitwittersimulate;


import android.app.Activity;
import android.os.Bundle;

public class SuccessActivity extends Activity {
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.show);
  //setContentView(R.layout.show);
 }

}


 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值