Android 数据存储(一) Preference的使用
Preference提供了一种轻量级的数据存取方法,应用场合主要是数据比较少的配置信息。它以"键·值" (是一个 Map) 对的方式将数据保存 在一个 XML 配置文件中。例如,我们设置了 一个手机开机问候语,可以将其以 Preference 方式来进行配置。
使用 Preference方式来存取数据,用到了SharedPreferences 接口和SharedPreferences的一个内部接口SharedPreferences.Editor,这两个接口在android.content包中。
调用 Context.getSharedPreferences(String name,int mode)方法得到SharedPreferences接口。该方法的第一个参数是文件名称,第二个参数是操作模式。操作模式有三种: MODE_PRIVATE(私有)、MODE_WORLD_READABLE(可读)和MODE_WORLD_WRITEABLE(可写)。
SharedPreferences提供了获得数据的方法,如getString(String key,String detValue)、getInt(String key,int detValue)等。调用SharedPreferences的edit()方法返回SharedPreferences.Editor内部接口,该接口中提供了保存数据的方法,如putString(String key, String value)、putInt(String key,int value)等,调用该接口的commit()方法可以将数据进行保
存。SharedPreferences 和 SharedPreferences.Editor 的常用方法如下:
SharedPreferences 常用方法
方法名称 方法描述
edit() 返回 SharedPreferences 的内部接口 SharedPreferences.Editor
contains(String key) 判断是否包含该键值
getAll() 返回所有配置信息 Map
getBoolean(String key,boolean deNalue) 获得一个 boolean 值
getFloat( String key,float deNalue) 获得一个float值
getlnt(String key,int deNalue) 获得 一个int值
getLong(String key,long deNalue) 获得一个 long 值
getString(String key,String deNalue) 获得一个 String 值
SharedPreferences.Editor 常用方法
方法名称 方法描述
clear() 清除所高值
commit() 保存
getAll()( 返回所有配置信息Map
putBoolean(String key,boolean value) 保存一个 boolean 值
putFloat(String key,float value) 保存一个 float值
putlnt(String key,int value) 保存个int值
putLong(String key,long value) 保存个 long 值
putString(String key,String value) 保存 一个 String 值
remove(String key) 删除该键对应的值
使用:
存储数据
在void onStop()中,代码如下:
protected void onStop() { super.onStop(); SharedPreferences.Edit editor = getShardPreference.Edit(String, Mode_World_Writing).Edit(); editor.putString("key",myedittext.getText().toString());//放入数据 editor.commit(); //保存数据 }
在void onCreate()中,代码如下:
protected void onCreate() { super.onCreate(); ...... SharedPreference pre = getShardPreference.Edit(String,Mode_World_Writing); mytextview.setText(pre.get("key")); }
本文出自 “无用大叔” 博客,请务必保留此出处http://aslonely.blog.51cto.com/6552465/1618804
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。