Android sharedPreferences 用法
Android 提供了一种数据轻量级的数据持久化方法。使用SharedPreferences 接口 将 key-value 形式的primitive data 存储到文件中。多用于保存软件偏好配置信息。
注意的几点:
1.存储内容:primitive data。(booleans, floats, ints, longs, and strings.)
2. 存储形式:key-value 键值对,存储到xml文件中。
使用的方法:
getSharedPreferences(String name, int mode)【或者 getPreferences()】 获得 SharedPreferences 对象。
读操作:
通过 SharedPreferences 对象 直接调用 getBoolean getInt 等等方法获取 。
写操作:
通过 SharedPreferences 获取 Editor 对象 ,适应Editor对象调用 putBoolean 等方法写文件。
SharedPreferences 的文件存储地址:/data/data/<packagename>/shared_prefs 目录下
实例: 用户登录界面的记住密码功能

public class MainActivity extends Activity {
EditText user_name, pass_word;
CheckBox rememberCheck;
Button btnlogin;
// SharedPreferences setting;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
user_name = (EditText) findViewById(R.id.etusername);
pass_word = (EditText) findViewById(R.id.etpassword);
rememberCheck = (CheckBox) findViewById(R.id.checkBox1);
btnlogin = (Button) findViewById(R.id.btnlogin);
// 读取sharedpreference中的值
SharedPreferences sharepre = getSharedPreferences("data", MODE_PRIVATE); // 如果 data 文件不存在,创建一个
//String isCheckedStr = sharepre.getString("isChecked", "");
boolean isChecked = sharepre.getBoolean("isChecked", false); // 带默认值的
if(isChecked){
String username = sharepre.getString("username","");
String password = sharepre.getString("password", "");
user_name.setText(username);
pass_word.setText(password);
rememberCheck.setChecked(true);
}
// 登录事件响应
btnlogin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SharedPreferences.Editor editor = getSharedPreferences(
"data", MODE_PRIVATE).edit();
if (rememberCheck.isChecked()) {
// 保存值到 sharedPreferences
editor.putBoolean("isChecked", true);
editor.putString("username", user_name.getText().toString());
editor.putString("password", pass_word.getText().toString());
}else{
editor.clear();
}
editor.commit();
Intent i = new Intent(MainActivity.this,SettingActivity.class);
startActivity(i);
}
});
}
在 DDMS 的file explorer 中可以找到生成的 xml 文件:
Android sharedPreferences 用法的更多相关文章
- Android SharedPreferences一般的读写 的用法。
Android SharedPreferences一般用于轻量级的数据存储,比如用户名和密码等. package com.lixu.testsharepreferences; import andro ...
- Android Meun 用法
Android Meun 用法 点击菜单实体键弹出菜单:如下图 main_activity.xml <?xml version="1.0" encoding="ut ...
- Android ViewPager 用法
Android ViewPager 用法 场景:一般第一次打开应用程序时,程序会有一个提示页来给展现应用程序都有哪些功能:或者程序更新时,又更新哪些新特性,都可以使用ViewPager Demo 描述 ...
- Android Intent 用法全面总结
[代码全屏查看]-Android Intent 用法全面总结 // [1].[代码] 调用拨号程序 跳至 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] / ...
- Android GLSurfaceView用法详解(二)
输入如何处理 若是开发一个交互型的应用(如游戏),通常需要子类化 GLSurfaceView,由此可以获取输入事件.下面有个例子: java代码: package eoe.ClearTes ...
- android SharedPreferences 使用
除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值 对数据,通常用来存储一些简单的配置信息.其存储位置在/dat ...
- Android ScrollView用法
Android ScrollView用法 今天试着使用了一下Android的滚轮,以下是一个小小的测试,读取测试文件,主要是使用scrollTo函数和getScrollY(),程序点击BUTTON按钮 ...
- Android Service用法知识点的讲解
Android Service 学习Service相关知识点: android service 的基础知识,生命周期,service分类,运行地点(本地服务,远程服务),运行类型(前台服务,后台服务) ...
- Android Fragment用法知识点的讲解
Android Fragment用法的讲解 碎片,它的出现是为了更好展示UI的设计,让程序更加得到充分的展示.Fragment的出现,如微信的额主界面包含多个Fragment,使得微信功能更加简洁明了 ...
随机推荐
- Angular+Electron+VSCode的桌面应用
Angular+Electron+VSCode的桌面应用 转自:http://blog.csdn.net/yr7942793/article/details/50986696 第一部分 Electro ...
- java中的类加载器ClassLoader和类初始化
每个类编译后产生一个Class对象,存储在.class文件中,JVM使用类加载器(Class Loader)来加载类的字节码文件(.class),类加载器实质上是一条类加载器链,一般的,我们只会用到一 ...
- hdu1142(dj+记忆化搜索)
题意:给你n各点,m行关于这些点的联通关系,以及距离,求从1这个点到2这个点之间,下一个点到2这个点比当前点到2这个点的距离要小的路径的条数...... 思路:dj+记忆化搜索....... #inc ...
- 如何利用wireshark对TCP消息进行分析
原文:https://www.cnblogs.com/studyofadeerlet/p/7485298.html 如何利用wireshark对TCP消息进行分析 (1) 几个概念介绍 1 seq ...
- Delphi之Raise抛出异常
相关资料: http://blog.csdn.net/a20071426/article/details/10160171 实例代码: unit Unit1; interface uses Windo ...
- Unix系统编程()改变信号处置:signal
Unix系统提供了两种方法来改变信号处置:signal和sigaction.这篇描述的是signal系统调用,是设置信号处理的原始API,所提供的接口比sigaction简单.另一方面,sigacti ...
- 应有dataGridView控件
using System.Data.SqlClient; namespace UseDataGridView { public partial class Form1 : Form { public ...
- js生成唯一的uuid
---恢复内容开始--- 在做项目的时候出现这样的一种情况,需要动态生成唯一的uuid,刚开始我的思路是这样的,我可以根据时间来做,然后出现了下面的思路: var uuid = "cms&q ...
- java访问属性
- 转载:CSS3图标图形生成技术个人攻略
原始地址:http://segmentfault.com/a/1190000000481320 出处:http://www.zhangxinxu.com/wordpress/?p=4113