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

Android存储方式有很多种,在这里所用的存储方式是SharedPreferrences, 其采用了Map数据结构来存储数据,以键值的方式存储,可以简单的读取与写入。所以比较适合我们今天做的这个项目。我们来看一下运行图:

一.布局界面

1.login_top.xml

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:padding="@dimen/activity_horizontal_margin"
 android:background="@drawable/logintop_roundbg">
 <EditText
  android:id="@+id/etName"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:ems="10"
  android:drawablePadding="10dp"
  android:background="@android:drawable/edit_text"
  android:drawableLeft="@drawable/icon_user"
  android:hint="@string/etName">
  <requestFocus></requestFocus>
 </EditText>
 <EditText
  android:id="@+id/etPassword"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:layout_below="@id/etName"
  android:inputType="textPassword"
  android:ems="10"
  android:drawablePadding="10dp"
  android:background="@android:drawable/edit_text"
  android:drawableLeft="@drawable/icon_pass"
  android:hint="@string/etpassword">
  <requestFocus></requestFocus>
 </EditText>
 <CheckBox
  android:id="@+id/cbremenber"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_below="@id/etPassword"
  android:text="@string/cbpass"/>
 <LinearLayout
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:layout_below="@id/cbremenber">
  <Button
   android:id="@+id/btnlogin"
   android:layout_width="0dp"
   android:layout_height="wrap_content"
   android:layout_weight="1"
   android:background="@drawable/btnselect"
   android:text="@string/btnlogin"
   android:onClick="login"/>
  <Button
   android:id="@+id/btnRegister"
   android:layout_width="0dp"
   android:layout_height="wrap_content"
   android:layout_weight="1"
   android:background="@drawable/btnselect"
   android:text="@string/btnRegister"
   android:layout_marginLeft="10dp"/>
 </LinearLayout>
</RelativeLayout>

2.activity_main.xml

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:id="@+id/activity_main"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:background="@drawable/loginbg"
 tools:context="cn.edu.bzu.logindemo.MainActivity">

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

 <ImageView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:background="@drawable/deer"
  android:layout_alignParentBottom="true"
  android:layout_alignParentRight="true"
  android:layout_alignParentEnd="true" />
</RelativeLayout>

3.activity_welcome.xml

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:id="@+id/activity_welcome"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 tools:context="cn.edu.bzu.logindemo.WelcomeActivity">

 <TextView
  android:id="@+id/tvwelcome"
  android:text="Welcome you"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignParentTop="true"
  android:layout_centerHorizontal="true"
  android:layout_marginTop="200dp"
  android:textSize="40sp"
   />
</RelativeLayout>

二.MainActivity

 public class MainActivity extends AppCompatActivity {
 private EditText etName;
 private EditText etPassword;
 private SharedPreferences sharedPreferences;
 private CheckBox cbremenber;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  initViews();
  sharedPreferences=getSharedPreferences("remenberpassword", Context.MODE_PRIVATE);
  boolean isRemember=sharedPreferences.getBoolean("remenberpassword",false);
  if(isRemember) {
   String name = sharedPreferences.getString("name", "");
   String password = sharedPreferences.getString("password", "");
   etName.setText(name);
   etPassword.setText(password);
   cbremenber.setChecked(true);
  }
 }

 private void initViews() {
  etName=(EditText) findViewById(R.id.etName);
  etPassword=(EditText) findViewById(R.id.etPassword);
  cbremenber=(CheckBox)findViewById(R.id.cbremenber);
 }

 public void login(View view){
  String name=etName.getText().toString();
  String password=etPassword.getText().toString();
  if("admin".equals(name)&&"123456".equals(password)){
   SharedPreferences.Editor editor= sharedPreferences.edit();
   if(cbremenber.isChecked()){
    editor.putBoolean("remenberpassword",true);
    editor.putString("name",name);
    editor.putString("password",password);
   }else {
    editor.clear();
   }
   editor.commit();
   Intent intent=new Intent(this,WelcomeActivity.class);
   startActivity(intent);
   finish();
  }else {
   Toast.makeText(this,"账号或密码有误",Toast.LENGTH_LONG).show();

  }
 }
}

三.WelcomeActivity

 public class WelcomeActivity extends AppCompatActivity {

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Android实现带有记住密码功能的登陆界面

    本文实例为大家分享了Android带有记住密码功能的登陆界面实现代码,供大家参考,具体内容如下 1.设计思路 主要采用SharedPreferences来保存用户数据,本Demo没有经过加密,所有一旦Android系统被ROOT的话,其他用户就可以查看用户的私有目录,密码文件就很不安全.所以真正应用在软件上面的,一定要经过加密才保存,可以选择MD5加密. SharedPreferences介绍可以参看这篇博文:http://www.jb51.net/article/84859.htm TextW

  • Android sharedPreferences实现记住密码功能

    实现记住密码功能,供大家参考,具体内容如下 编写界面交互代码: package com.example.bz0209.login; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity; import android.os.Bund

  • Android 使用SharedPreferrences储存密码登录界面记住密码功能

    Android存储方式有很多种,在这里所用的存储方式是SharedPreferrences, 其采用了Map数据结构来存储数据,以键值的方式存储,可以简单的读取与写入.所以比较适合我们今天做的这个项目.我们来看一下运行图: 一.布局界面 1.login_top.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.a

  • Android实现用户登录记住密码功能

    一.打开之前完成的Case_login进行修改再编辑 二.将注册按钮删除并在登录按钮前拖出一个checkBox,编辑代码如下: 在layout_top.xml文件中进行编辑 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_

  • Android SharedPreferences实现记住密码和自动登录界面

    SharedPreferences介绍: SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置参数,它是采用xml文件存放数据的,文件存放在"/data/data<package name>/shared_prefs"目录下. SharedPreferences的用法: 由于SharedPreferences是一个接口,而且在这个接口里没有提供写入数据和读取数据的能力.但它是通过其Editor接口中的一些方法来操作Shared

  • Android通过"记住密码"功能学习数据存储类SharedPreferences详解及实例

    SharedPreferences是Android中存储简单数据的一个工具类.可以想象它是一个小小的Cookie,它通过用键值对的方式把简单数据类型(boolean.int.float.long和String)存储在应用程序的私有目录下(data/data/包名/shared_prefs/)自己定义的xml文件中. 一.简介 它提供一种轻量级的数据存储方式,通过eidt()方法来修改里面的内容,通过Commit()方法来提交修改后的内容. 二.重要方法 public abstract boole

  • Android开发笔记SQLite优化记住密码功能

    本文实例为大家分享了Android SQLite优化记住密码功能的具体代码,供大家参考,具体内容如下 package com.example.alimjan.hello_world; /** * Created by alimjan on 7/4/2017. */ import com.example.alimjan.hello_world.bean.UserInfo; import com.example.alimjan.hello_world.dataBase.UserDBHelper; i

  • Android实现登录界面记住密码的存储

    Android存储方式有很多种,在这里所用的存储方式是SharedPreferrences, 其采用了Map数据结构来存储数据,以键值的方式存储,可以简单的读取与写入.所以比较适合我们今天做的这个项目.我们来看一下运行图: 一.布局界面 1.login_top.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.a

  • Android大作业功能设计之自动登录和记住密码

    目录 前言 一.效果 二.设计思路 三.知识点介绍 SharedPreferenced 四.自动登录及记住密码实现 总结与补充 前言 大家好,我是oy,今天介绍一下在登录页面中如何实现自动登录及记住密码. 一.效果 二.设计思路 使用sharedPreferenced存储用户账号和密码,以及是否记住密码和自动登录. 记住密码和自动登录按钮都采用checkButton,使用checkButton的OnCheckedChangeListener监听. 三.知识点介绍 SharedPreference

  • Android miniTwitter登录界面开发实例

    本文要演示的Android开发实例是如何完成一个Android中的miniTwitter登录界面,下面将分步骤讲解怎样实现图中的界面效果,让大家都能轻松的做出美观的登录界面. 先贴上最终要完成的效果图: miniTwitter登录界面的布局分析 首先由界面图分析布局,基本可以分为三个部分,下面分别讲解每个部分. 第一部分是一个带渐变色背景的LinearLayout布局,关于背景渐变色就不再贴代码了,效果如下图所示: 第二部分,红色线区域内,包括1,2,3,4 如图所示: 红色的1表示的是一个带圆

  • JS实现登录页面记住密码和enter键登录方法推荐

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>按enter键触发事件和记住账号密码</title> <script> //方法一: // document.onkeypress=function(e){ // var keycode=document.all?event.keyCode:e.which; // if(keycode

  • js实现登录时记住密码的方法分析

    本文实例讲述了js实现登录时记住密码的方法.分享给大家供大家参考,具体如下: 常见的很多网站登录,都有记住密码功能,下面是用js实现的记住密码功能(代码用的源生js,不用引入任何插件,大家如果引入了jQuery,可以进行修改,优化) js部分 window.onload = function(){ var oForm = document.getElementById('myForm'); var oUser = document.getElementById('username'); var

  • Android设计登录界面、找回密码、注册功能

    本文实例为大家分享了Android 登录.找回密码.注册功能的实现代码,供大家参考,具体内容如下 1.数据库的设计 我在数据库中添加了两张表,一张表用来存储用户信息,诸如用户名,密码,手机号等,可任意添加.另一张表用来存储上一个登录用户的账户信息,我是为了方便才另外创建了一张表去存储,而且这张表我设计了它只能存储一条信息,每次的存储都是对上一条记录的覆盖.事实上,我尝试过在存储用户信息的那张表内添加一个标识,用来标记上一次登录的是哪一个帐号,但是这样做的话,每次改变标识都需要遍历整张表,十分的麻

  • Android实现登录界面的注册功能

    本文实例为大家分享了Android登录界面的注册实现代码,供大家参考,具体内容如下 注册一个登录界面在控制台将输入的信息文本选框展示出来 xml界面设计(前面已发) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:app="h

  • Android QQ登录界面绘制代码

    先看看效果图: 首先过程中碰到的几个问题: 1.对 EditText 进行自定义背景 2.运行时自动 EditText 自动获得焦点 3.在获得焦点时即清空 hint ,而不是输入后清空 4.清空按钮的出现时机(在得到焦点并且有输入内容时) ---  这些问题都有一一解决 --- 以下是代码: 布局 fragment_main(问题2) <!-- android:focusable="true" android:focusableInTouchMode="true&qu

  • Android实现登陆界面的记住密码功能

    本文实例为大家分享了Android实现登陆界面记住密码功能的具体代码,供大家参考,具体内容如下 所需工具 一.复选框控件:CheckBox,二.SharedPreferences用于存储数据,该工具的读取和写入较为简单,放在代码里的注释中解释 实现逻辑: 如果没弄懂逻辑,代码看起来还是有点小难度的 一.判断SharedPreferences中已存入的CheckBox的Boolean信息(没有读取到则默认条件为“否”),如果条件为“是”(同时满足能读取到和读取的信息为“是”两个条件),通过Shar

随机推荐