广告
返回顶部
首页 > 资讯 > 移动开发 >Android实现带有记住密码功能的登陆界面
  • 176
分享到

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

登陆界面Android 2022-06-06 08:06:18 176人浏览 安东尼
摘要

本文实例为大家分享了Android带有记住密码功能的登陆界面实现代码,供大家参考,具体内容如下 1、设计思路 主要采用SharedPreferences来保存用户数据,本Dem

本文实例为大家分享了Android带有记住密码功能的登陆界面实现代码,供大家参考,具体内容如下

1、设计思路

主要采用SharedPreferences来保存用户数据,本Demo没有经过加密,所有一旦Android系统被ROOT的话,其他用户就可以查看用户的私有目录,密码文件就很不安全。所以真正应用在软件上面的,一定要经过加密才保存,可以选择MD5加密。

SharedPreferences介绍可以参看这篇博文://www.jb51.net/article/84859.htm

TextWatcher的介绍可以参看这篇博文://www.jb51.net/article/84865.htm 

2、功能介绍

默认勾选“记住密码”复选框,点击“登陆”按钮,一旦成功登陆,就保存用户名和密码到SharedPreferences文件中。

用户名输入时,通过TextWatcher不断去读取用户数据,自动提示相应的“用户名”,选择了用户名之后,就会读取SharedPreferences的文件,然后自动完成密码的输入。 

3、效果图

4、代码:详细都在注释里面了


 
package com.conowen.remeberPwd; 
import android.app.Activity; 
import android.content.SharedPreferences; 
import android.os.Bundle; 
import android.text.Editable; 
import android.text.InputType; 
import android.text.TextWatcher; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.AutoCompleteTextView; 
import android.widget.Button; 
import android.widget.CheckBox; 
import android.widget.EditText; 
import android.widget.Toast; 
public class RemeberPwdActivity extends Activity { 
 AutoCompleteTextView cardNumAuto; 
 EditText passWordET; 
 Button logBT; 
 CheckBox savePasswordCB; 
 SharedPreferences sp; 
 String cardNumStr; 
 String passwordStr; 
  
 @Override 
 public void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 setContentView(R.layout.main); 
 cardNumAuto = (AutoCompleteTextView) findViewById(R.id.cardNumAuto); 
 passwordET = (EditText) findViewById(R.id.passwordET); 
 logBT = (Button) findViewById(R.id.logBT); 
 sp = this.getSharedPreferences("passwordFile", MODE_PRIVATE); 
 savePasswordCB = (CheckBox) findViewById(R.id.savePasswordCB); 
 savePasswordCB.setChecked(true);// 默认为记住密码 
 cardNumAuto.setThreshold(1);// 输入1个字母就开始自动提示 
 passwordET.setInputType(InputType.TYPE_CLASS_TEXT 
 | InputType.TYPE_TEXT_VARIATioN_PASSWORD); 
 // 隐藏密码为InputType.TYPE_TEXT_VARIATION_PASSWORD,也就是0x81 
 // 显示密码为InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD,也就是0x91 
 cardNumAuto.addTextChangedListener(new TextWatcher() { 
 @Override 
 public void onTextChanged(CharSequence s, int start, int before, 
  int count) { 
 // TODO Auto-generated method stub 
 String[] allUserName = new String[sp.getAll().size()];// sp.getAll().size()返回的是有多少个键值对 
 allUserName = sp.getAll().keySet().toArray(new String[0]); 
 // sp.getAll()返回一张hash map 
 // keySet()得到的是a set of the keys. 
 // hash map是由key-value组成的 
 ArrayAdapter<String> adapter = new ArrayAdapter<String>( 
  RemeberPwdActivity.this, 
  android.R.layout.simple_dropdown_item_1line, 
  allUserName); 
 cardNumAuto.setAdapter(adapter);// 设置数据适配器 
 } 
 @Override 
 public void beforeTextChanged(CharSequence s, int start, int count, 
  int after) { 
 // TODO Auto-generated method stub 
 } 
 @Override 
 public void afterTextChanged(Editable s) { 
 // TODO Auto-generated method stub 
 passwordET.setText(sp.getString(cardNumAuto.getText() 
  .toString(), ""));// 自动输入密码 
 } 
 }); 
 // 登陆 
 logBT.setOnClickListener(new OnClickListener() { 
 @Override 
 public void onClick(View v) { 
 // TODO Auto-generated method stub 
 cardNumStr = cardNumAuto.getText().toString(); 
 passwordStr = passwordET.getText().toString(); 
 if (!((cardNumStr.equals("test")) && (passwordStr 
  .equals("test")))) { 
  Toast.makeText(RemeberPwdActivity.this, "密码错误,请重新输入", 
  Toast.LENGTH_SHORT).show(); 
 } else { 
  if (savePasswordCB.isChecked()) {// 登陆成功才保存密码 
  sp.edit().putString(cardNumStr, passwordStr).commit(); 
  } 
  Toast.makeText(RemeberPwdActivity.this, "登陆成功,正在获取用户数据……", 
  Toast.LENGTH_SHORT).show(); 
  // 跳转到另一个Activity 
  // do something 
 } 
 } 
 }); 
 } 
} 

布局文件:main.xml


<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="Http://schemas.android.com/apk/res/android" 
 android:layout_width="fill_parent" 
 android:layout_height="fill_parent" 
 android:orientation="vertical" > 
 <TextView 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:layout_gravity="center_horizontal" 
 android:text="简单登陆DEMO" 
 android:textSize="25px" /> 
 <LinearLayout 
 xmlns:android="http://schemas.android.com/apk/res/android" 
 android:layout_width="fill_parent" 
 android:layout_height="fill_parent" 
 android:gravity="center" 
 android:orientation="vertical" > 
 <LinearLayout 
 android:layout_width="250dip" 
 android:layout_height="wrap_content" 
 android:layout_marginLeft="10dp" 
 android:layout_marginRight="10dp" 
 android:layout_marginTop="15dp" 
 android:orientation="vertical" > 
 <LinearLayout 
 android:layout_width="fill_parent" 
 android:layout_height="wrap_content" 
 android:orientation="horizontal" > 
 <LinearLayout 
  android:layout_width="fill_parent" 
  android:layout_height="80px" 
  android:orientation="vertical" > 
  <LinearLayout 
  android:layout_width="fill_parent" 
  android:layout_height="40px" 
  android:orientation="horizontal" > 
  <TextView 
  android:id="@+id/tv_account" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:layout_marginRight="10dp" 
  android:text="用 户 名:" 
  android:textSize="15px" /> 
  <AutoCompleteTextView 
  android:id="@+id/cardNumAuto" 
  android:layout_width="fill_parent" 
  android:layout_height="40px" > 
  </AutoCompleteTextView> 
  </LinearLayout> 
  <LinearLayout 
  android:layout_width="fill_parent" 
  android:layout_height="40px" 
  android:orientation="horizontal" > 
  <TextView 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:layout_marginRight="10dp" 
  android:text="用户密码:" 
  android:textSize="15px" /> 
  <EditText 
  android:id="@+id/passwordET" 
  android:layout_width="fill_parent" 
  android:layout_height="40px" > 
  </EditText> 
  </LinearLayout> 
 </LinearLayout> 
 </LinearLayout> 
 <LinearLayout 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:orientation="horizontal" > 
 <CheckBox 
  android:id="@+id/savePasswordCB" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:layout_marginLeft="20dp" 
  android:text="记住密码" > 
 </CheckBox> 
 <Button 
  android:id="@+id/logBT" 
  android:layout_width="100px" 
  android:layout_height="wrap_content" 
  android:layout_marginLeft="40dp" 
  android:layout_marginRight="10dp" 
  android:text="登录" > 
 </Button> 
 </LinearLayout> 
 </LinearLayout> 
 </LinearLayout> 
</LinearLayout> 

SharedPreferences文件,在/data/data/包名/shared_prefs文件夹下面


<?xml version='1.0' encoding='utf-8' standalone='yes' ?> 
<map> 
<string name="test">test</string> 
<string name="test2">test</string> 
<string name="test1">test</string> 
</map> 
您可能感兴趣的文章:Android SharedPreferences实现记住密码和自动登录Android Walker登录记住密码页面功能实现Android开发笔记sqlite优化记住密码功能Android实现用户登录记住密码功能Android sharedPreferences实现记住密码功能Android 使用SharedPreferrences储存密码登录界面记住密码功能Android实现登录界面记住密码的存储Android SharedPreferences实现记住密码和自动登录界面Android通过"记住密码"功能学习数据存储类SharedPreferences详解及实例Android实现记住密码功能


--结束END--

本文标题: Android实现带有记住密码功能的登陆界面

本文链接: https://www.lsjlt.com/news/25023.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android实现带有记住密码功能的登陆界面
    本文实例为大家分享了Android带有记住密码功能的登陆界面实现代码,供大家参考,具体内容如下 1、设计思路 主要采用SharedPreferences来保存用户数据,本Dem...
    99+
    2022-06-06
    登陆 界面 Android
  • Android实现登陆界面的记住密码功能
    本文实例为大家分享了Android实现登陆界面记住密码功能的具体代码,供大家参考,具体内容如下 所需工具 一、复选框控件:CheckBox,二、SharedPreferences用于...
    99+
    2022-11-13
  • Android如何实现登陆界面的记住密码功能
    这篇文章主要介绍“Android如何实现登陆界面的记住密码功能”,在日常操作中,相信很多人在Android如何实现登陆界面的记住密码功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android如何实现登陆...
    99+
    2023-06-30
  • Android 使用SharedPreferrences储存密码登录界面记住密码功能
    Android存储方式有很多种,在这里所用的存储方式是SharedPreferrences, 其采用了Map数据结构来存储数据,以键值的方式存储,可以简单的读取与写入。所以比较...
    99+
    2022-06-06
    界面 Android
  • Android实现登录界面记住密码的存储
    Android存储方式有很多种,在这里所用的存储方式是SharedPreferrences, 其采用了Map数据结构来存储数据,以键值的方式存储,可以简单的读取与写入。所以比较...
    99+
    2022-06-06
    界面 存储 Android
  • Android SharedPreferences实现记住密码和自动登录界面
    SharedPreferences介绍: SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置参数,它是采用xml文件存放数据的...
    99+
    2022-06-06
    自动 界面 Android
  • Android实现记住密码小功能
    本文实例为大家分享了Android实现记住密码小功能的具体代码,供大家参考,具体内容如下 以下有三个点 第一点是记住密码, 第二点是点击隐藏点击显示, 第三点是登录存储。 XML布...
    99+
    2022-11-12
  • Android中怎么实现登录记住多个密码功能
    这篇文章将为大家详细讲解有关Android中怎么实现登录记住多个密码功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在popouWindow里面加上ListView,数据是把List以字符...
    99+
    2023-05-31
    android
  • Android实现记住用户名和密码功能
    Android 实现记住用户名和密码的功能是通过SharedPreference 存储来实现的。创建一个复选按钮,通过按钮的否选取来进行事件处理。若按钮选中存储账号和密码的信息...
    99+
    2022-06-06
    用户名 Android
  • Vue如何实现登录记住账号密码功能
    本篇内容主要讲解“Vue如何实现登录记住账号密码功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue如何实现登录记住账号密码功能”吧!实现思路用户登录时若勾选“记住我”功能选项,则将登录名和...
    99+
    2023-06-21
  • Android中怎么使用SQLite实现记住密码功能
    这期内容当中小编将会给大家带来有关Android中怎么使用SQLite实现记住密码功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体内容如下package com.example.alimj...
    99+
    2023-05-31
    android sqlite
  • Android中的密码记住功能怎么利用 sharedPreferences实现
    本篇文章给大家分享的是有关Android中的密码记住功能怎么利用 sharedPreferences实现,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。编写界面交互代码:pack...
    99+
    2023-05-31
    sharedpreferences android roi
  • 功能强大的登录界面Android实现代码
    前言      一个好的应用需要一个有良好的用户体验的登录界面,现如今,许多应用的的登录界面都有着用户名,密码一键删除,用户名,密码为...
    99+
    2022-06-06
    Android
  • 如何在Android应用中实现一个记住密码功能
    本篇文章给大家分享的是有关如何在Android应用中实现一个记住密码功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、打开之前完成的Case_login进行修改再编辑二、将...
    99+
    2023-05-31
    android roi
  • JavaWeb 中Cookie实现记住密码的功能示例
    本文主要内容:•1、什么是Cookie•2、Cookie带来的好处•3、Cookie的主要方法 一、什么是Cookiecookie是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段。Co...
    99+
    2023-05-31
    java web cookie
  • Vue实现登录记住账号密码功能的思路与过程
    目录实现思路这里有三种方法来存储账号密码:功能界面记住账号密码功能的具体实现密码加密localStoragecookies总结实现思路 用户登录时若勾选“记住我”功能选项,则将登录名...
    99+
    2022-11-12
  • Android中怎么利用SharedPreferences实现自动登录记住用户名和密码功能
    本篇文章为大家展示了Android中怎么利用SharedPreferences实现自动登录记住用户名和密码功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。SharedPreferences简介Sh...
    99+
    2023-05-31
    android sharedpreferences
  • Android实现登录界面的注册功能
    本文实例为大家分享了Android登录界面的注册实现代码,供大家参考,具体内容如下 注册一个登录界面在控制台将输入的信息文本选框展示出来 xml界面设计(前面已发) <xml ...
    99+
    2022-11-13
  • Vue实现记住账号密码功能的操作过程
    目录实现思路:记住账号密码实现流程npm安装base64依赖实现思路:   用户登录时若勾选“记住我”功能选项,则将登录名和密码(加密后)存入本地缓存,下次登...
    99+
    2022-11-13
  • Android如何实现登录界面的注册功能
    今天小编给大家分享一下Android如何实现登录界面的注册功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。注册一个登录界面...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作