android记住密码
android 当中有集中数据存储方式,比如说sqlite,还有一个比较轻量级的,那就是SharedPreferences,相当于web中的cookie,这个存储的原理就是通过键值对,进行存取
public class SharedPreferencesForLogin{
SharedPreferences sp;
SharedPreferences.Editor editor;
Context context;
public SharedPreferencesForLogin(Context c,String name){
context = c;
sp = context.getSharedPreferences(name, 0);
editor = sp.edit();
}
//向SharedPreferences中注入数据
public void putValue(String key, String value){
editor = sp.edit();
editor.putString(key, value);
//这个提交很重要,别忘记,对xml修改一定别忘了commit()
editor.commit();
}
//根据Key获取对应的Value
public String getValue(String key){
return sp.getString(key, null);
}
//清除SharedPreferences中的数据,比如点击“忘记密码”
public void clear(){
editor = sp.edit();
editor.clear();
editor.commit();
}
}
那么在我们的Activity中就直接调用即可(记住密码)
/**
*
*记住用户名、密码
*/
String userNameValue = userName.getText().toString();
String passwordValue = password.getText().toString();
SharedPreferencesForLogin spfl = new SharedPreferencesForLogin(Login.this,"xml文件的名字");
spfl.putValue("USER_NAME",userNameValue);
spfl.putValue("PASSWORD",passwordValue);
*
*取出用户名、密码
*/
SharedPreferencesForLogin spfl = new SharedPreferencesForLogin(Login.this,"xml文件的名字");
String userNameValue = spfl.getValue("USER_NAME");
String passwordValue = spfl.getValue("PASSWORD");
userName.setText(userNameValue);
passwrod.setText(passwordValue);
/**
*
*清除数据
*/
SharedPreferencesForLogin spfl = new SharedPreferencesForLogin(Login.this,"xml文件的名字");
spfl.clear();
[code]
public void onCreate(Bundle savedInstanceState) {
...
执行onCreate 方法初始化的时候就获得SharedPreferences中是否保存有用户数据
//userinfo表示获得对应的userinfo.xml中的数据
SharedPreferences sharedPreference = this.getSharedPreferences("userinfo", MODE_PRIVATE);
//获得保存在userinfo.xml文件中的数据
//参数1:获得保存在userinfo.xml文件中的key
//参数2:当key不存在或者没有对应的值的时候返回的默认值
String userName = sharedPreference.getString("userName", "");
String passw = sharedPreference.getString("password", "");
//设置到组件中
name.setText(userName);
password.setText(passw);
//自动登录的判断
}
//按钮的事件处理
View.OnClickListener click = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.submit:
if(isSave.isChecked()){//判断是否勾选自动登录选项
//获得组件中的数据(登录帐号和密码)
String userName = name.getText().toString();
String pass = password.getText().toString();
//通过Context获得SharedPreferences对象
//参数 1:将数据保存到什么文件中,文件名称 (如果指定的文件不存在就创建一个新的)
//参数 2: 对文件的操作模式
//MODE_PRIVATE 默认模式 私有模式(当前应用程序可以操作)
//MODE_WORLD_READABLE 和 MODE_WORLD_WRITEABLE 可以提供给其他的应用程序进行读或者写 模式
SharedPreferences sharedPreference = MainActivity.this.getSharedPreferences("userinfo", MODE_PRIVATE);
//获得一个Editor对象,进行数据保存
Editor myed = sharedPreference.edit();
//设置相应保存的数据,(一般保存一下应用程序的配置信息)
//使用和Map方式一样的
myed.putString("userName", userName);
myed.putString("password", pass);
//提交操作(将操作的数据进行保存到userinfo.xml中)
myed.commit();
Toast.makeText(MainActivity.this, "已经保存您的数据!", Toast.LENGTH_LONG).show();
}
[/code]
android记住密码相关推荐
- Android 记住密码和自动登录界面的实现(SharedPreferences 的用法)(转载)
SharedPreferences介绍: SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置参数,它是采用xml文件存放数据的,文件存放在" ...
- android教程登陆,【教程】Android 记住密码和自动登录界面的实现
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 登录界面源码: LoginActivity.java public class LoginActivity extends Activity { priv ...
- android自动登录不过登陆界面,【教程】Android 记住密码和自动登录界面的实现
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 登录界面源码: LoginActivity.java public class LoginActivity extends Activity { priv ...
- Android默认记住登录用户名,【教程】Android 记住密码和自动登录界面的实现
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 登录界面源码: LoginActivity.java public class LoginActivity extends Activity { priv ...
- Android之记住密码与自动登陆实现
本文主要讲述了利用sharedpreference实现记住密码与自动登陆功能 根据checkbox的状态存储用户名与密码 将结果保存在自定义的application中,成为全局变量 布局文件 < ...
- 【Android】_UI设计_登录页面(记住密码)
目标: Android记住密码和自动登录界面的实现(SharedPreferences),具有一定的参考价值,感兴趣的小伙伴们可以参考一下. 登录页面设计(记住密码版) (一) SharedPrefe ...
- 记住密码以及Android 列表的操作
1.综合使用RecycleView,CardView,Adapter实现一个宝宝相册,并将其加入到实验一形成的应用中,使得:用户成功登录后转到宝宝相册所在的主界面.还要求实现:用户单击对应的列表子项的 ...
- android 自动登录机制,Android登录记住密码以及自动登录的实现
记住密码以及自动登录的实现主要依赖于SharedPreferences类的使用,SharedPreferences是一个轻量级的存储类,用于存储一些小数据,比如登录账号密码以及状态信息等. 本文章只针 ...
- Android SharedPreferences登录记住密码
SharedPreferences是Android中存储简单数据的一个工具类.可以想象它是一个小小的Cookie,它通过用键值对的方式把简单 数据类型(boolean.int.float.long和S ...
最新文章
- javascript中window.event事件用法详解
- 【转】三天学好ADO
- 拒绝从入门到放弃_《Openstack 设计与实现》必读目录
- redis、memcache、mongoDB有哪些区别?
- 解线性方程组的迭代法(高斯-塞德尔迭代法)
- ASP.NET生成分页静态页
- javascript的概述
- kali系统更新命令
- springboot微服务使用Feign远程调用失败
- blastn 输出结果每列啥意思_本地blast的详细用法
- 2022年度软考考试时间表已公布
- qq音乐html5测试性格,根据你的听歌习惯测试你的性格
- Leetcode算法Java全解答--37. 解数独
- 实现支付功能并生成二维码
- js根据日期计算星期几
- Python正则表达式文本替换
- 数学知识(一):数论
- windows系统流氓软件太厉害卸载不掉怎么办?看我弄死它们
- 一、如何阅读Spring源码(全网最简单的方法)
- Windows XP 瘦身提速优化技巧大全
热门文章
- 【FTP】linux FTP传文件到windows|ftp的常用命令
- Python财经实践,股票数据获取及可视化展示
- cmd登录mysql提示协议适配器错误_Oracle协议适配器错误解决办法
- Manjaro | failed retrieving file ‘x.pkg.tar.xz‘ from x : : The requested URL returned error: 404
- Java最新的手机号验证代码
- 选址确定!中国科学院大学广州学院落户广州,即将开建
- Ubuntu 使用 ftp 传输执行的命令行
- Vue商城——详情页功能
- installer启动类型是灰色_联想电脑BIOS下引导方式无法修改或BOOT MODE选项为灰色解决方法...
- 原来可以这样中文转码