一.Preference的简介
Preference(配置)提供了一种轻量级的数据存取方法,主要应用于数据比较少的配置信息。它以“key-value”(是一个Map)对的方式将数据保存在一个XML配置文件中,例如,手机的开机问候语,可以将其以Preference方式来进行配置。也可以保存一些用户个性化设置的字体、颜色、位置等参数信息。
二.Preference存取数据的方法
使用到的接口:
SharedPreferences接口和SharedPreferences.Editor接口,它们都是来自于andorid.content包。
①SharedPreferences接口提供保存数据的方法
我们可以调用Context.getSharedPreferences(String name,int mode)方法得到SharedPreferences接口。该方法的第一个参数是文件名称,第二个参数是操作模式。操作模式有三种:
- MODE_PRIVATE(私有)
- MODE_WORLD_READABLE(可读)
- MODE_WORLD_WRITEABLE(可写)
SharedPreferences接口的常用方法
方法名称 |
方法描述 |
edit() |
返回SharedPreferences的内部接口SharedPreferences.Editor |
contains(String key) |
判断是否包含该键值 |
getAll() |
返回所有配置信息Map |
getBoolean(String key,Boolean defValue) |
获得一个boolean值 |
getFloat(String key,float defValue) |
获得一个float值 |
getInt(String key,int defValue) |
获得一个int值 |
getLong(String key,long defValue) |
获得一个long值 |
getString(String key,String defValue) |
获得一个String值 |
②SharedPreferences.Editor接口提供获得数据的方法
SharedPreferences.Editor接口中的getString(String key,String defValue)、getInt(String key,int defValue)等。调用SharedPreferences的edit()方法返回SharedPreferences.Editor内部接口,该接口中提供了保存数据的方法,如putString(String key,String value)、pubInt(String key,int value)等,调用该接口的commit方法可以将数据进行保存。
SharedPreferences.Editor接口常用的方法
方法名称 |
方法描述 |
clear() |
清楚所有值 |
commit() |
保存 |
getAll() |
返回所有配置信息Map |
putBoolean(String key,Boolean value) |
保存一个boolean值 |
putFloat(String key,float value) |
保存一个float值 |
putInt(String key,int value) |
保存一个int值 |
putLong(String key,long value) |
保存一个long值 |
putString(String key,String value) |
保存一个String值 |
remove(String key) |
删除该键对应的键 |
下面是保存临时记事本内容的例子
当我们在手机上用记事本编写备忘录,日志的时候,突然要返回接电话,看短信的时候。我们就要停止编写,退出去听接电话,看短信。然而,当我们打完电话或者看完短信回来的时候,发现刚刚编写的内容还在记事本上,这就是Preference的作用了。
创建一个Activity,在其中放置一个EditText保存短信内容,放置一个Button用于发送信息。在onCreate()中通过getSharedPreferences()方法获得SharedPreferences接口,调用接口的getString()方法,获得保存内容,将内容设置到EditText中。
在onStop()方法中保存内容,使用getSharedPreferences().edit()方法获得SharedPreferences.Editor接口,调用SharedPreferences.Editor的putString()方法保存短信内容,调用commit()方法提交内容。
MainActivity.java
main.xml
效果图:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!