android数据存储中的SharedPreference学习记录
2015-07-26 16:05
471 查看
相比于文件的存储方式,SharedPreference是使用键值对的方式来存储数据的。本质为xml文件的形式存储,适合存放程序的配置信息。
SharedPreference仅支持以下数据类型:
boolean
int
float
long
String
SharedPreference的实现如下
一、获取SharedPreference对象
1、Context中的getSharedPreference()方法
getSharedPreference(“文件名”,操作模式)
指定的文件若不存在则会创建一个,文件都是存放在/data/data/shared_prefs/目录下。
主要操作模式:
MODE_PRIVATE 默认模式,表示只有当前应用程序才可以对SharedPreference进行读写。
MODE_MULTI_PROCESS 一般用于多个进程中对同一个SharedPreference进行读写。
MODE_WORLD_READABLE,MODE_WOELD_WRITEABLE模式在android4.2版本已被废弃。
2、Activity类中的getPreference()方法
getPreference(操作模式)
只接受一个参数操作模式,文件名默认为当前Activity类名。
3、PreferenceManager类中的getDefaultSharedPreference()方法
getDefaultSharedPreference(Context)
此方法为一个静态方法,接受一个Context参数,使用当前应用程序的包名为前缀来命名文件。
二、读写数据
写数据
1、通过以上3种方法获取到SharedPreference对象后,调用edit()方法得到一个SharedPreference.Editor对象。
2、调用SharedPreference.Editor对象的一系列put方法(例如putString)来存储数据。
3、最后通过commit()方法(提交成功返回true,否则返回false)来提交数据,从而完成数据的存储。
读数据
4、通过SharedPreference对象的一系列get方法(例如getBoolean)来获取数据。
简单demo如下:
总结:记住3种获取SharedPreference对象的方式,各方式的文件名与操作模式。获取数据直接get,存储需要SharedPreference.Editor对象直接put,最后别忘了commit提交。
SharedPreference仅支持以下数据类型:
boolean
int
float
long
String
SharedPreference的实现如下
一、获取SharedPreference对象
1、Context中的getSharedPreference()方法
getSharedPreference(“文件名”,操作模式)
指定的文件若不存在则会创建一个,文件都是存放在/data/data/shared_prefs/目录下。
主要操作模式:
MODE_PRIVATE 默认模式,表示只有当前应用程序才可以对SharedPreference进行读写。
MODE_MULTI_PROCESS 一般用于多个进程中对同一个SharedPreference进行读写。
MODE_WORLD_READABLE,MODE_WOELD_WRITEABLE模式在android4.2版本已被废弃。
2、Activity类中的getPreference()方法
getPreference(操作模式)
只接受一个参数操作模式,文件名默认为当前Activity类名。
3、PreferenceManager类中的getDefaultSharedPreference()方法
getDefaultSharedPreference(Context)
此方法为一个静态方法,接受一个Context参数,使用当前应用程序的包名为前缀来命名文件。
二、读写数据
写数据
1、通过以上3种方法获取到SharedPreference对象后,调用edit()方法得到一个SharedPreference.Editor对象。
2、调用SharedPreference.Editor对象的一系列put方法(例如putString)来存储数据。
3、最后通过commit()方法(提交成功返回true,否则返回false)来提交数据,从而完成数据的存储。
读数据
4、通过SharedPreference对象的一系列get方法(例如getBoolean)来获取数据。
简单demo如下:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取SharedPreferences对象 SharedPreferences spf=getSharedPreferences("data", MODE_PRIVATE); //获取SharedPreference.Editor对象 SharedPreferences.Editor editor=spf.edit(); //读取数据 boolean isMan=spf.getBoolean("isMan", false); int salary=spf.getInt("salary", 3000); String name=spf.getString("name", "Tom"); //存储数据 editor.putBoolean("isMan", true); editor.putInt("salary", 6000); editor.putString("name", "jack"); //提交 editor.commit(); }
总结:记住3种获取SharedPreference对象的方式,各方式的文件名与操作模式。获取数据直接get,存储需要SharedPreference.Editor对象直接put,最后别忘了commit提交。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories