首页 > 代码库 > SharedPreferences和PreferencesActvity

SharedPreferences和PreferencesActvity

软件参数设置,轻量级存储类

文件放在/data/data/<>/shared_prefs

指定文件名不要带有后缀,默认以xml保存

 

三种方式得到preference区别:

1.public SharedPreference getPreferences(int mode)

   通过Activity对象获取,获取的是本Activity私有的Preference,保存在系统中的xml形式的文件名为activity名字,因此一个activity只能由一个。

 

2.public SharedPreference getSharedPreferences(String name,int mode)

   因为activity继承了ContextWrapper,因此也是通过Activity获取对象,但是属于整个应用程序,可以有多个,以第一参数name为文件名保存在系统中。

 

3.public static SharedPreferences getDefaultSharedPreferences(Context context)

   PreferenceManager的静态函数,保存PreferenceActivity中的设置,属于整个应用程序,但只有一个,android会根据包名和PreferenceActivity的布局文件起一个名字保存。

 

// SharedPreferences// 保存偏好设置public void savePreference(String name, Integer age) {  preferences = context.getSharedPreferences("itcast",Context.MODE_PRIVATE);  Editor editor = preferences.edit();  editor.putString("name", name);  editor.putInt("age", age);  editor.commit();} // 读取偏好设置public Map<String, String> getPreference() {  Map<String, String> params = new HashMap<String, String>();  params.put("name", preferences.getString("name", ""));  params.put("age", String.valueOf(preferences.getInt("age", 0)));  return params;}

PreferenceActivity

可以自动持久化,每次操作完成立即持久化。

PreferenceFragment 3.0

 

PreferenceActivityPreferenceScreen配合完成Settings

PreferenceActivityActivityPreferenceScreen不是一个界面组建

onAttachedToActivity()在里面生成界面,是个控制类

 

PreferenceCategory类别(分组)

  Key

  Title

  Summary 描述

PreferenceScreen 嵌套:子Activity跳转

addPreferenceFromIntent(intent)

addPreferenceFromResource(rsid)

 

ListPreference

dialogTitle

entries:显示文字列表

 

RingtonePreference 铃声

Preference 文本

SharedPreferences和PreferencesActvity