记住密码

原创 2015年07月08日 18:30:13

效果图:

  



activity_main:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    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" >


    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="用户名"
        android:textAppearance="?android:attr/textAppearanceMedium" />


    <EditText
        android:id="@+id/etname"        
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入用户名或手机号"
        android:ems="10" >


        <requestFocus />
    </EditText>


    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="密码"
        android:layout_marginTop="10dp"
        android:textAppearance="?android:attr/textAppearanceMedium" />


    <EditText
        android:id="@+id/etpass"
        android:hint="请输入密码"
        android:password="true"
        android:singleLine="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"        
        android:ems="10" />


    <LinearLayout
       
        android:layout_width="match_parent"
        android:layout_height="match_parent" >


        <CheckBox
            android:id="@+id/cbremember"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dp"
            android:text="记住密码" />


        <Button
            android:id="@+id/btnlogin"
            android:layout_marginLeft="60dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:text="@string/btnlogin" />


        <Button
            android:id="@+id/btncancel"     
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:text="@string/btncancel" />


    </LinearLayout>


</LinearLayout>

success_activity:

<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"
    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=".SuccessActivity" >


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />


</RelativeLayout>

MainActivity:

import com.example.minitwitter.R;


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.EditText;
import android.widget.Toast;


public class MainActivity extends Activity {
private EditText etname;
private EditText etpass;
private CheckBox cbremember;
private Button btnlogin;
private Button btncancel;
//保存数据
private SharedPreferences SpSettings =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();
    }




    private void setlistener() {
       btncancel.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
etname.setText("");
etpass.setText("");

}
});
btnlogin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if("fbz".equals(etname.getText().toString())&&"fbz".equals(etpass.getText().toString())){
//判断复选框是否选中
if(cbremember.isChecked()){
SpSettings=getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
Editor edit=SpSettings.edit();
edit.putBoolean("isKeep", true);
edit.putString("etname", etname.getText().toString());
edit.putString("etpass", etpass.getText().toString());
edit.commit();
}else{
SpSettings=getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
Editor edit=SpSettings.edit();
edit.putBoolean("isKeep", false);
edit.putString("etname", "");
edit.putString("etpass", "");
edit.commit();
}
//跳转
Intent intent=new Intent(MainActivity.this,SuccessActivity.class);
startActivity(intent);
}else{
Toast.makeText(getApplicationContext(),"用户名或密码错误",Toast.LENGTH_SHORT).show();
}
}
});
}
private void getData() {
SpSettings=getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
if(SpSettings.getBoolean("isKeep", false)){
etname.setText(SpSettings.getString("username","" ));
etpass.setText(SpSettings.getString("password", ""));
}else{
etname.setText("");
etpass.setText("");
}
}
   

@Override
protected void onResume(){
//在界面显示之前得到之前存储的数据
super.onResume();
getData();
}




private void findView() {
etname=(EditText) findViewById(R.id.etname);
etpass=(EditText) findViewById(R.id.etpass);
cbremember=(CheckBox) findViewById(R.id.cbremember);
btnlogin=(Button) findViewById(R.id.btnlogin);
btncancel=(Button) findViewById(R.id.btncancel);
}




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

要跳转到的SuccessActivity:

import com.example.minitwitter.R;
import com.example.minitwitter.R.layout;
import com.example.minitwitter.R.menu;


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


public class SuccessActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_success);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.success, menu);
return true;
}


}

记住开机密码

  • 2014年09月12日 14:58
  • 37B
  • 下载

web安全:防止浏览器记住或自动填写用户名和密码(表单)的终极解决方案

最近项目上要求做到这一点,在网上搜了一圈,发现都是不完美的,不兼容全部的浏览器,于是只能自己摸索了,最终得出了终极解决方案: 涉及: disabled 或 readonly  display:...
  • ltx06
  • ltx06
  • 2017年04月01日 12:25
  • 7388

登录界面记住密码功能

  • 2014年04月28日 23:06
  • 215KB
  • 下载

记住密码cookie js

  • 2014年09月12日 13:23
  • 9KB
  • 下载

win7 、xp 记住密码

针对 win7 、xp无 记住密码 选项,此文给出了一个解决方法
  • zanget
  • zanget
  • 2011年02月28日 17:34
  • 2735

SharedPreferences记住用户名密码

  • 2014年12月29日 15:55
  • 1.26MB
  • 下载

cookie、session及实现记住密码,自动登录

来源url:http://heyohsmm.blog.51cto.com/4207140/1259615 在登录帐号、密码框下,有三种帐号登录模式可供选择,用户可根据自己的具体情况选择其中一...

酷QQ自动登录COOLQ记住密码

  • 2015年06月25日 10:12
  • 221KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:记住密码
举报原因:
原因补充:

(最多只允许输入30个字)