记住密码

原创 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;
}


}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android登录界面,记住密码的实现

最终效果图 错误密码界面 登录成功界面 主要的布局设计activity_main.xml代码展示activity_main.xml定义我们的布局样式,由两个xml文件组成. <Relativ...

记住密码自动登陆的实现和退出时的登陆数据清空

在android开发的时候涉及到自动登录方面网上有很多相关的代码,但是在实际应用中常常实现了自动登录功能后,在退出登陆返回登陆界面后又被强制进入主界面,没有清空之前的登录数据。

CheckBox记住密码功能

1布局页面 <ImageButton android:id="@+id/img_btn" android:layout_wi

IOS开发之使用NSUserDefault记住用户名密码

一般的登录界面都会有一个记住密码的选项,要实现这个功能可以使用NSUserDefault,这里只是讲解明文的处理方式,虽然这样是有一定的风险性的但是目前只是了解如何实现这个功能: 首先声明一个N...

Android 记住密码和自动登录界面的实现(SharedPreferences 的用法)

SharedPreferences介绍: SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置参数,它是采用xml文件存放数据的,文件存放在"/dat...

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

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

个人对页面记住账户密码的cookie方法的一些尝试

引言 最近因为项目需求,所以对页面的cookie做了一些尝试,当勾选了记住账户密码的时候就可以在下次登录的时候不必再重新输入账号密码,下面我就其具体实现说明一下。 上面的是先添加设置cookie,...

实现类似QQ记住密码的功能

记住用户的密码,一般浏览器都有这个功能,基于C/S结构的软件实现这个功能也有很多方法,这里采用简单的文件流保存用户名及密码的方法来实现这个功能。 Person类,模拟用户 using Syst...

登陆页面中的记住密码功能 Cookie

登陆页面中的记住密码功能 Cookie

android 利用SharedPreferences做的简单记住密码+自动登陆

SharedPreferences 1.SharePreference这个接口很是用于保存数据用的 调用Context.getSharePreferences(String name, i...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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