Android-14数据存储—Preference存储数据.doc
文本预览下载声明
第14讲 数据存储(1)—Preference存储数据
Android中有种持久化数据的方法:SQLite数据库、文件存储、Preference种方法各有专攻,而其中Preference是以类似Map的键值对形式存储的,最适合用来保存用户个人设置之类的信息。SQLite数据库boolean contains(String key)
String getString(String key, String defValue)
float getFloat(String key, float defValue)
…… 可以返回各种基本类型
getAll():获取SharedPreference中的所有的key value对
Editor edit():得到一个Editor对象
---Editor类
SharedPreferences接口本身并没有提供写入数据的能力,而是通过SharedPreference的内部接口,即Editor对象所提供的写入方法来向SharedPreferences中写入数据,重要的方法有:
Editor putString(String key, String value);
Editor putInt(String key, int value);
……可以写入各种基本类型
boolean commit(); 当Editor编辑完成时,提交修改,类似于事务
Editor remove(String key);
Editor clear(); 清空所有已有的SharedPreference数据
---得到SharedPreferences的实例
Context(Activity类的父类)类提供的方法:
preferences= this.getSharedPreferences(setting, Context.MODE_PRIVATE);
第一个参数表示在手机内存中所写入的持久化文件为setting.xml,位置如下
第二个参数表示权限,控制所写的配置文件是否能由其他的程序所读取或修改
例:对前例所开发的记事本程序进行界面颜色的设定。包括:文本框的颜色、按钮的颜色等,并持久化保持到文件中,下次打开程序,能够读取到上次设定。
分析:通常我们开发一个程序时,会需要给用户提供一个设置界面,使用户可以对程序的一些参数进行设置。通常Preferences的键值对存储方式,来对AndroidSpinner的设定,这里采用一个数组来进行数据源的设定
?xml version=1.0 encoding=utf-8?
resources
string-array name=etcolor
item红色/item
item绿色/item
item蓝色/item
/string-array
string-array name=btcolor
item红色/item
item绿色/item
item蓝色/item
/string-array
/resourcesRelativeLayout xmlns:android=/apk/res/android
xmlns:tools=/tools
android:layout_width=match_parent
android:layout_height=match_parent
tools:context=.SettingActivity
TextView
android:id=@+id/textView1
android:layout_width=wrap_content
android:layout_height=wrap_content
android:layout_alignParentLeft=true
android:layout_alignParentTop=true
android:layout_marginLeft=15dp
android:layout_marginTop=17dp
android:text=设置文本框的颜色 /
Spinner
android:id=@+id/sp_etcolor
android:layout_width=fill_parent
android:layout_height=wrap_content
android:layout_alignP
显示全部