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 文本

posted on 2015-01-26 23:41  qiaolanqi  阅读(252)  评论(0编辑  收藏  举报

导航