Android学习笔记之Shared Preference
2013-09-27 14:58
776 查看
如果没有特殊要求,我们可以使用Android提供的框架来创建系统样式的Preference Screen,在其内部可以包含PreferenceCategory和Preference<control>元素的任意组合。建立Preference Screen,需要向里面添加首选项控件,原生的这些控件有:CheckBoxPreference、EditTextPreference、ListPreference、MultiSelectListPreference和RingtonePreference,每种控件至少包含4种属性:android:key,android:title,android:summary,android:defaultValue,用一种图来对其进行说明:
创建Preference有两种方法,第一种是使用PreferencesActivity。首先在res/values下创建一个arrays.xml用于存放ListPreference的数据
复制代码 代码如下:<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="update_freq_options">
<item>Every Minute</item>
<item>5 minutes</item>
<item>10 minutes</item>
<item>15 minutes</item>
<item>Every Hour</item>
</string-array>
<string-array name="magnitude">
<item>1</item>
<item>3</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
</string-array>
<string-array name="magnitude_options">
<item>1</item>
<item>3</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
</string-array>
<string-array name="update_freq_values">
<item>1</item>
<item>5</item>
<item>10</item>
<item>15</item>
<item>60</item>
</string-array>
</resources>
然后在res/xml下创建userpreferences.xml,用于定义PreferenceScreen 复制代码 代码如下:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<CheckBoxPreference
android:key="PREF_ANTUO_UPDATE"
android:title="Auto refresh"
android:summary="Select to turn on automatic updating"
android:defaultValue="true"/>
<ListPreference
android:key="PREF_UPDATE_FREQ"
android:title="Prefresh frequency"
android:summary="Frequency at which to refresh earthquake list"
android:entries="@array/update_freq_options"
android:entryValues="@array/update_freq_values"
android:dialogTitle="Prefresh frequency"
android:defaultValue="60"/>
<ListPreference
android:key="PREF_MIN_MAG"
android:title="Minmum magnitude"
android:summary="Select the minimum magnitude earthquake to report"
android:entries="@array/magnitude_options"
android:entryValues="@array/magnitude"
android:dialogTitle="Magnitude"
android:defaultValue="3"/>
</PreferenceScreen>
最后在MainActivity中重写onCreate方法,这个MainActivity要继承PreferenceActivity,使用addPreferencesFromResource添加PreferenceScreen 复制代码 代码如下:
public class MainActivity extends PreferenceActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.userpreferences);
}
}
OK,搞定,效果如图
第二种方法是使用PreferenceFragment,首先创建UsePreferenceFragment类继承PreferenceFragment类,重写onCreate方法,使用addPreferencesFromResource来加载userpreferences.xml
复制代码 代码如下:public class UserPreferenceFragment extends PreferenceFragment
{
@Override
public void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.userpreferences);
}
}
然后在res/xml下创建preference_headers.xml,来关联UsePreferenceFragment 复制代码 代码如下:
<?xml version="1.0" encoding="utf-8"?>
<preference-headers
xmlns:android="http://schemas.android.com/apk/res/android">
<header android:fragment="com.sharedpreferencetest.UserPreferenceFragment"
android:title="Settings"
android:summary="Earthquake Refresh Settings" />
</preference-headers>
最后在MainActivity中重写onBuildHeaders方法 复制代码 代码如下:
public class MainActivity extends PreferenceActivity
{
@Override
public void onBuildHeaders(List<Header> target)
{
// TODO Auto-generated method stub
loadHeadersFromResource(R.xml.preference_headers, target);
}
}
搞定,效果如图: 然后点击Settings就会进入下个界面
您可能感兴趣的文章:
- Android之PreferenceActivity应用详解(2)
- Android之PreferenceActivity应用详解
- Android 清除SharedPreferences 产生的数据(实例代码)
- android中使用SharedPreferences进行数据存储的操作方法
- Android中删除Preference详解
- Android SharedPreferences的使用分析
- Android设置PreferenceCategory背景颜色的方法
- Android编程之ListPreference用法实例分析
- android开发基础教程―SharedPreferences读写
- Android中SharedPreference使用实例讲解
- Android PreferenceActivity与PreferenceFragment详解及简单实例
相关文章推荐
- Android学习笔记(十三)SharedPreference必须掌握的基础
- android学习笔记(八)SharedPreferences、editor
- Android学习笔记--存储方案(SharedPreference、文件IO)
- android学习笔记(八)SharedPreferences、editor
- 【Android学习笔记】SharedPreferences & AutoCompleteTextView
- android学习笔记(八)SharedPreferences、editor .
- android学习笔记(八)SharedPreferences、editor
- Android学习笔记(四十):Preference的使用
- android SharedPreferences 存储异常
- SharedPreferences 轻型的数据存储方式
- Android 记住密码和自动登录界面的实现(SharedPreferences 的用法)
- Android中Sharedpreferences 在 service 中使用时数据刷新不及时
- Android数据共享 sharedPreferences 的使用方法
- Android学习笔记四十Preference使用
- SharedPreferencec存储数据
- Android学习笔记(四十):Preference使用
- Android SharedPreferences Api
- Shared Preferences 轻量存储
- Android学习笔记(四十):Preference的使用
- SharedPreferences + 倒计时 +动画 +只进行一次动画