Android中使用SharedPreferences完成记住账号密码的功能

效果图:

记住密码后,再次登录就会出现账号密码,否则没有。

分析:

SharedPreferences可将数据存储到本地的配置文件中

SharedPreferences会记录CheckBox的状态,如果CheckBox被选,则将配置文件中记录的账号密码信息回馈给账号密码控件,否则清空。

SharedPreferences使用方法:

1、创建名为config的配置文件,并且私有

private SharedPreferences config; config=getSharedPreferences("config", MODE_PRIVATE);

2、添加编辑器

Editor edit=config.edit();

3、向内存中写入数据

String username=et_username.getText().toString(); String password=et_password.getText().toString(); edit.putString("username", username).putString("password", password);

4、提交到本地

edit.commit();

代码:

fry.Activity01

package fry; import com.example.rememberUserAndPassword.R; import android.app.Activity; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.TextView; import android.widget.Toast; public class Activity01 extends Activity{ private Button btn_login; private TextView et_username; private TextView et_password; private CheckBox cb_choose; private SharedPreferences config; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity01); config=getSharedPreferences("config", MODE_PRIVATE); btn_login=(Button) findViewById(R.id.btn_login); et_username=(TextView) findViewById(R.id.et_username); et_password=(TextView) findViewById(R.id.et_password); cb_choose=(CheckBox) findViewById(R.id.cb_choose); //是否记住了密码,初始化为false boolean isCheck=config.getBoolean("isCheck", false); //Toast.makeText(this, isCheck+" ", Toast.LENGTH_SHORT).show(); if(isCheck){ et_username.setText(config.getString("username", "")); et_password.setText(config.getString("password", "")); cb_choose.setChecked(isCheck); } } //权限要是public,要不然访问不到 //因为在button控件中设置了android:onClick="onClick" public void onClick(View view){ Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT).show(); Editor edit=config.edit(); String username=et_username.getText().toString(); String password=et_password.getText().toString(); boolean isCheck=cb_choose.isChecked(); //Toast.makeText(this, isCheck+" ", Toast.LENGTH_SHORT).show(); //存储CheckBox的状态 edit.putBoolean("isCheck", isCheck); if(isCheck){ edit.putString("username", username).putString("password", password); }else{ edit.remove("username").remove("password"); } //提交到本地 edit.commit(); } }

/记住账号和密码/res/layout/activity01.xml

<?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:orientation="vertical" > <EditText android:id="@+id/et_username" android:layout_width="match_parent" android:layout_height="wrap_content" /> <EditText android:id="@+id/et_password" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" > <requestFocus /> </EditText> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" > <CheckBox android:id="@+id/cb_choose" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="记住密码" /> </LinearLayout> <!-- android:onClick="onClick" 点击时去class中调用onClick方法,权限要为public --> <Button android:id="@+id/btn_login" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登录" android:layout_gravity="center_horizontal" android:onClick="onClick" /> </LinearLayout>

总结

以上所述是小编给大家介绍的Android中使用SharedPreferences完成记住账号密码的功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

时间: 2024-07-30 09:16:16

Android中使用SharedPreferences完成记住账号密码的功能的相关文章

Jsp使用Cookie完成记住账号密码的功能

网站中对于记住账号密码,方便下次登录的使用非常普遍,那么它是怎么实现的呢? 首先他的流程是,设计一个复选框,当选中复选框时,就会传值到处理页面,复选框的用途就是判断用户是否愿意记住账号密码. 我们通过一个小例子来掌握他的实现步骤,在开始之前首先要了解一下实现这一功能的关键: Cookie,所有的实现所依赖的都是cookie,那么什么是Cookie呢? 简单来说:cookie就是一段文本,它存储在客户端(通常来说是浏览器).你可以把cookie当作一个map,里边是键值对,每个键值对有 过期时间.

JavaScript使用cookie实现记住账号密码功能

  JavaScript使用cookie实现记住账号密码功能         这篇文章主要介绍了JavaScript使用cookie实现记住账号密码功能,本文直接给出完整测试代码,需要的朋友可以参考下 很多登录功能上都有个"记住密码"的功能,其实无非就是对cookie的读取. 下面展示这个功能的代码,原作者已无法考究.... 测试方法:直接输入账号密码,提交后,刷新页面,再输入同样的账号,就可以显示 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

JavaScript使用cookie实现记住账号密码功能_javascript技巧

很多登录功能上都有个"记住密码"的功能,其实无非就是对cookie的读取. 下面展示这个功能的代码,原作者已无法考究.... 测试方法:直接输入账号密码,提交后,刷新页面,再输入同样的账号,就可以显示 <!DOCTYPE HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>

详解Android中的SharedPreferences

SharedPreferences作为Android存储数据方式之一,主要特点是: 1. 只支持Java基本数据类型,不支持自定义数据类型: 2. 应用内数据共享: 3. 使用简单. 使用方法 1.存数据 SharedPreferences sp = getSharedPreferences("sp_demo", Context.MODE_PRIVATE); sp.edit().putString("name", "小张").putInt(&qu

填空模式-Android中,要实现类似填空题的功能要怎么做?页面布局怎么办?

问题描述 Android中,要实现类似填空题的功能要怎么做?页面布局怎么办? 想实现类似下面的功能: <朝花夕拾>原名<________>,是________ 的回 忆性散文集,其中的主要人物有 :_________ 因为要填的内容长度不固定,因此页面布局要怎么做?想让固定的文字和变长的文字在同一行,大神能提供一点思路吗?该怎么做? 解决方案 http://download.csdn.net/download/zss793648186/7498449 解决方案二: 描述不是很清楚,

Android中的二维码生成与扫描功能

0. 前言 今天这篇文章主要描述二维码的生成与扫描,使用目前流行的Zxing,为什么要讲二维码,因为二维码太普遍了,随便一个Android APP都会有二维码扫描.本篇旨在帮助有需求的同学快速完成二维码生成和扫描的功能. 1.    Zxing的使用 从github上下载项目后,可以看到整体代码结构如下: 我们只需将Zxing包下的所有代码copy一份到我们的项目中去,除了这些还需要zxing的jar包,最后相应的资源文件,包括values文件下的ids文件.raw文件中的资源文件(可以替换).

ipad中safari浏览器不能保存账号密码设置教程

1.我们要设置保存密码并不是在浏览器中,而是在桌面的设置中,我们点击"设置-safari"-"清除历史记录与网站数据"然后就会出现"储存密码"的提示. 2.如果我们没有看到账号记录我们可以点击"点击自动填充",就可以将密码填充在框里,细节如下图所示. 删除已存储的密码 1有一种情况出来了,就是我们登录过的密码已经修改了,但每次还自动填充了,那我们可以在ipad 设置-safari-密码与自动填充,点击编辑,选择要删除的条目,删

android中使用SharedPreferences进行数据存储的操作方法_Android

很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友.对于软件配置参数的保存,如果是window软件通常我们会采用ini文件进行保存,如果是 j2se应用,我们会采用properties属性文件或者xml进行保存.如果是Android应用,我们最适合采用什么方式保存软件配置参数呢?Android 平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数.使用 SharedPrefe

Android例子源码仿支付宝手势密码的功能实现

本项目是一个仿支付宝手势密码部分的源码,项目在1280×720分辨率上显示有问题,在 854x480上没有问题,项目编码UTF-8默认编译版本4.4.2,实现思路:1.要用一个类来表示这9个点中的第一个点.里面保留有当前点的上下左右的各个位置等属性:2.自定义GroupView,用来装9个点,9个点的显示是通过ImageView.复写onLayout这个方法,让点按需求排列:3.定义一个可以画线的View,复写onTouchEvent方法,在这个方法里面进行画直线的操作: 4.判断用户手指当前的