您的位置:首页 > 移动开发 > Android开发

Android 实现记住用户名和密码的功能

2015-06-03 09:13 645 查看




结果图如下:

 

代码

Welcome.java

package com.gxs.login;

import com.example.login.R;

import com.gxs.listview.*;

import android.os.Bundle;

import android.preference.Preference;

import android.app.Activity;

import android.app.SearchManager.OnCancelListener;

import android.content.Context;

import android.content.Intent;

import android.content.SharedPreferences;

import android.content.SharedPreferences.Editor;

import android.util.Log;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.CheckBox;

import android.widget.EditText;

import android.widget.Toast;

public class Welcome extends Activity implements OnClickListener{

 private EditText uname = null;

 private EditText upswd = null;

 private CheckBox checkbox = null;

 private Button login = null;

 SharedPreferences sp = null;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.layout_main);

        sp = this.getSharedPreferences("userinfo", Context.MODE_PRIVATE);

        init();

   

    }

  

    public void init()

 {

  uname = (EditText) findViewById(R.id.user_input);

  upswd = (EditText) findViewById(R.id.pass_input);

  checkbox = (CheckBox) findViewById(R.id.checkBoxLogin);

     login = (Button) findViewById(R.id.new_user);

     if (sp.getBoolean("auto", false))

     {

         uname.setText(sp.getString("uname", null));

         upswd.setText(sp.getString("upswd", null));

         checkbox.setChecked(true);

        

     }

     login.setOnClickListener(this);

 }

 @Override

 public void onClick(View v) {

  if (v == login){

   String name = uname.getText().toString();

    String pswd = upswd.getText().toString();

    if(name.trim().equals("")){

       Toast.makeText(this, "请您输入用户名!", Toast.LENGTH_SHORT).show();

    return;

      }

      if(pswd.trim().equals("")){

       Toast.makeText(this, "请您输入密码!", Toast.LENGTH_SHORT).show();

    return;

      }

   boolean autoLogin = checkbox.isChecked();

   if (autoLogin)

   {

     Editor editor = sp.edit();

     editor.putString("uname", name);

     editor.putString("upswd", pswd);

     editor.putBoolean("auto", true);

     editor.commit();

   }

   else

   { 

    Editor editor = sp.edit();

    editor.putString("uname", null);

    editor.putString("upswd", null);

    editor.putBoolean("auto", false);

    editor.commit();

    }

   //Intent跳转

   Intent intent = new Intent(Welcome.this,Content.class);

   startActivity(intent);

   finish();

  }

  

 }

  

}

Content.java

package com.gxs.listview;

import java.util.List;

import com.example.login.R;

import com.gxs.*;

import android.app.Activity;

import android.os.Bundle;

import android.widget.ArrayAdapter;

import android.widget.ListView;

public class Content extends Activity{

 private ListView listview_fruits; 

 @Override

 protected void onCreate(Bundle savedInstanceState) {

  // TODO Auto-generated method stub

  super.onCreate(savedInstanceState);

  setContentView(R.layout.content);

 

 }

}

layout_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>

<?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" >

    <TextView

        android:id="@+id/tvRegist"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignParentLeft="true"

        android:layout_alignParentTop="true"

        android:layout_marginLeft="21dp"

        android:layout_marginTop="18dp"

        android:text="@string/tvRegister"

        android:autoLink="all"

        android:textColorLink="#FF0066CC" />

    <ImageView

        android:id="@+id/imageView1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignParentBottom="true"

        android:layout_alignParentRight="true"

        android:layout_marginBottom="24dp"

        android:src="@drawable/panda" />

    <ImageView

        android:id="@+id/imageView2"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignParentBottom="true"

        android:layout_centerHorizontal="true"

        android:layout_marginBottom="28dp"

        android:src="@drawable/icon" />

</RelativeLayout>

<?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"

   
4000
    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" />

    <Button

        android:id="@+id/btnLogin"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignRight="@+id/etPassword"

        android:layout_below="@+id/etPassword"

        android:layout_marginTop="20dp"

        android:onClick="to2"

        android:background="#FF72CAE1"

        android:text="@string/btnLogin" />

    <CheckBox

        android:id="@+id/cbRememberPass"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        

        android:layout_alignLeft="@+id/etPassword"

        android:layout_alignTop="@+id/btnLogin"

        android:text="记住密码" />

    <CheckBox

        android:id="@+id/autologin"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignBaseline="@+id/cbRememberPass"

        android:layout_alignBottom="@+id/cbRememberPass"

        android:layout_toRightOf="@+id/cbRememberPass"

        android:text="自动登录" />

</RelativeLayout>

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:background="#00ff00"

    android:orientation="vertical" >

    <TextView

        android:id="@+id/textView1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="进入主页面" />

</LinearLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: