android 自动登录和记住密码

来源:互联网 发布:减少sqlserver内存占用 编辑:程序博客网 时间:2024/04/29 14:29

运行效果图如下 :

一、布局文件

 1、mian.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/blue"
    >
    <TextView
    android:layout_height="50dp"
    android:layout_width="fill_parent"
    android:gravity="center"
    android:textSize="24sp"
    android:text="登录界面"
    android:textColor="@color/white"
    android:background="@drawable/song_index_item_bg"/>
    <ImageView
    android:id="@+id/iv"
    android:layout_height="220dp"
    android:layout_width="230dp"
    android:layout_marginTop="110dp"
    android:src="@drawable/background"
    android:layout_centerHorizontal="true"
    android:scaleType="fitXY"/>
    <TextView
    android:id="@+id/tv_name"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:textSize="15sp"
    android:layout_marginTop="7dp"
    android:text="账号:"
    android:layout_alignLeft="@+id/iv"
    android:layout_alignTop="@+id/iv"
    android:layout_marginLeft="7dp"
    android:textColor="@color/green"/>
    <EditText
    android:id="@+id/et_name"
    android:layout_height="25dp"
    android:layout_width="210dp"
    android:layout_marginTop="7dp"
    android:layout_below="@+id/tv_name"
    android:background="@drawable/shape"
    android:layout_alignLeft="@+id/tv_name"/>
    <TextView
    android:id="@+id/tv_pass"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:textSize="15sp"
    android:text="密码:"
    android:layout_alignLeft="@+id/tv_name"
    android:layout_below="@+id/et_name"
    android:layout_marginTop="7dp"
    android:textColor="@color/green"/>
    <EditText
    android:id="@+id/et_pass"
    android:layout_height="25dp"
    android:layout_width="210dp"
    android:background="@drawable/shape"
    android:layout_marginTop="7dp"
    android:layout_below="@+id/tv_pass"
    android:layout_alignLeft="@+id/tv_name"/>
    <CheckBox
    android:id="@+id/isremenber"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_alignLeft="@+id/tv_name"
    android:layout_marginTop="10dp"
    android:text="记住密码"
    android:textSize="11sp"
    android:textColor="@color/huise"
    android:layout_below="@+id/et_pass"
    android:button="@drawable/mycheckbox"/>
    <CheckBox
    android:id="@+id/isloginself"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_alignRight="@+id/et_name"
    android:layout_marginTop="10dp"
    android:text="自动登录"
    android:textSize="11sp"
    android:textColor="@color/huise"
    android:layout_below="@+id/et_pass"
    android:button="@drawable/mycheckbox"/>
    <Button
    android:id="@+id/longin"
    android:layout_height="25dp"
    android:layout_width="210dp"
    android:layout_below="@+id/isloginself"
    android:layout_alignLeft="@+id/et_pass"
    android:layout_marginTop="10dp"
    android:text="登录"
    android:gravity="center"
    android:background="@drawable/loginbtn"/>
</RelativeLayout>
2、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"
  android:background="@color/white">
  <TextView
  android:layout_height="fill_parent"
  android:layout_width="fill_parent"
  android:text="登录成功!"
  android:textSize="40sp"
  android:gravity="center"
  android:background="@drawable/chat_bg_default"/>
   
</LinearLayout>

3、colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="blue">#3FA1E2</color>
    <color name="huise">#3F3E38</color>
    <color name="yellow">#FFA500</color>
    <color name="wuse">#0000</color>
    <color name="heise">#030303</color>
    <color name="blue1">#90CEF7</color>
    <color name="blue2">#0707C6</color>
    <color name="red">#F70938</color>
    <color name="green">#316424</color>
    <color name="white">#fff</color>
</resources>
4、mycheckbox.xml

<?xml version="1.0" encoding="utf-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item  android:state_checked="true" android:drawable="@drawable/checkbox_pressed"></item>
    <item  android:state_checked="false" android:drawable="@drawable/checkbox"></item>
    <item android:drawable="@drawable/checkbox"></item>
</selector>
5、shape.xml

<?xml version="1.0" encoding="utf-8"?>
<shape
  xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFFFFF"/> 
    <corners android:radius="8px"/> 
    <stroke android:color="#3FA1E2" 
       android:width="1px" 
        /> 
   
</shape>
下面是主要的java代码

1、LoginActivity.java

package zzz.agldtx.cc;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.Toast;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;


public class LonginActivity extends Activity {
 private EditText name;
 private EditText pass;
 private CheckBox isRemenber;
 private CheckBox isLoginSelf;
 private Button longin;
 private ProgressDialog mDialog;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        name=(EditText)findViewById(R.id.et_name);
        pass=(EditText)findViewById(R.id.et_pass);
        isRemenber=(CheckBox)findViewById(R.id.isremenber);
        isLoginSelf=(CheckBox)findViewById(R.id.isloginself);
        longin=(Button)findViewById(R.id.longin);
       
        final SharedPreferences pre=getSharedPreferences("longinvalue", MODE_WORLD_WRITEABLE);
        if(pre!=null){
         //记住了密码
           if(pre.getBoolean("isrmb", false)==true){
            name.setText(pre.getString("name", null));
            pass.setText(pre.getString("pass", null));
            isRemenber.setChecked(true) ;
           }
           if(pre.getBoolean("islgs", false)==true){
            isLoginSelf.setChecked(true);
            creatDialog();
            new Thread(){
             public void run() {
              try {

      Thread.sleep(3000);
            if(mDialog.isShowing()){
           mDialog.dismiss();
          }
      Intent intent2=new Intent(LonginActivity.this,Show.class);
      startActivity(intent2);
     } catch (Exception e) {
      // TODO: handle exception
     }
             }
            }.start();
           }
        }
        isRemenber.setOnCheckedChangeListener( new OnCheckedChangeListener() {
   
   @Override
   public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    // TODO Auto-generated method stub
         if(isRemenber.isChecked()==false){
          isLoginSelf.setChecked(false);
         }
   }
  });
        isLoginSelf.setOnCheckedChangeListener(new OnCheckedChangeListener() {
   
   @Override
   public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    // TODO Auto-generated method stub
      isRemenber.setChecked(true);
   }
  });
        longin.setOnClickListener(new OnClickListener() {
   
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    if(!name.getText().toString().equals("")&&!pass.getText().toString().equals("")){
     if(isLoginSelf.isChecked()){
      pre.edit().putBoolean("isrmb", true).putBoolean("islgs", true).putString("name", name.getText().toString())
      .putString("pass", pass.getText().toString()).commit();
     }else{
      if(isRemenber.isChecked()){
       pre.edit().putBoolean("isrmb", true).putBoolean("islgs", false).putString("name", name.getText().toString())
       .putString("pass", pass.getText().toString()).commit();
      }else{
       pre.edit().putBoolean("isrmb", false).putBoolean("islgs", false).putString("name", name.getText().toString())
       .putString("pass", pass.getText().toString()).commit();
      }
     }
     Intent intent=new Intent(LonginActivity.this,Show.class);
     startActivity(intent);
    }else{
     Toast.makeText(getApplicationContext(), "密码或账号不能为空!", Toast.LENGTH_LONG).show();
    }

   }
  });
    }
    private void creatDialog() {
  // TODO Auto-generated method stub
       mDialog=new ProgressDialog(this);
       mDialog.setTitle("验证中");
       mDialog.setMessage("正在登陆请稍后");
       mDialog.setIndeterminate(true);
       mDialog.setCancelable(true);
       mDialog.show();
     
 }
}

2、show.java

package zzz.agldtx.cc;

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

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


 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一年级小孩不听老师话怎么办 大班幼儿规则意识差怎么办 幼儿大班《打雷了怎么办》的教案 小孩上课不听讲到处乱跑怎么办 小孩子经常咬人好动怎么办 6个月宝宝好动怎么办 新生调皮被幼儿园退学怎么办 孩子在幼儿园太调皮怎么办 幼儿上课注意力不集中怎么办 幼儿上课一半要离开怎么办 八个月宝宝消化不良拉肚子怎么办 8个月的宝宝拉肚子怎么办 孕8个月拉稀怎么办 孩子调皮好动爱说话怎么办 宝宝8个月不会爬怎么办 怀孕8个月不想要了怎么办 8个月宝宝发烧怎么办 八个月的小孩发烧怎么办 孩子8个月发烧38怎么办 8个宝宝发烧38度怎么办 怀孕八个月不想要怎么办 怀孕八个月不想要了怎么办 八个月宝宝拉肚子拉水怎么办 八个月的宝宝拉肚子怎么办 八个月发烧38度怎么办 孩子特别调皮好动该怎么办 孩子有好动症该怎么办 在幼儿园好动的孩子该怎么办 18个月宝宝上火怎么办 打孩子越打上瘾怎么办 八个月不想要了怎么办 胎儿心脏畸形肺动脉瓣闭锁怎么办 小孩爱动怎么办补什么 初中孩子下午上课总犯困怎么办 孩子上课精神不集中怎么办 孩子玩兴奋了就打人怎么办 婴儿兴奋白天不睡觉怎么办 小孩读书精神不集中怎么办 小孩上课精神不集中怎么办 小孩学习精神不集中怎么办 孩子暑假天天看电视不出门怎么办