Android學習筆記之Shared Preference
如果沒有特殊要求,我們可以使用Android提供的框架來創(chuàng)建系統(tǒng)樣式的Preference Screen,在其內部可以包含PreferenceCategory和Preference<control>元素的任意組合。建立Preference Screen,需要向里面添加首選項控件,原生的這些控件有:CheckBoxPreference、EditTextPreference、ListPreference、MultiSelectListPreference和RingtonePreference,每種控件至少包含4種屬性:android:key,android:title,android:summary,android:defaultValue,用一種圖來對其進行說明:

創(chuàng)建Preference有兩種方法,第一種是使用PreferencesActivity。首先在res/values下創(chuàng)建一個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下創(chuàng)建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,首先創(chuàng)建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下創(chuàng)建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開發(fā)基礎教程—SharedPreferences讀寫
- Android中SharedPreference使用實例講解
- Android PreferenceActivity與PreferenceFragment詳解及簡單實例
相關文章
Android利用Paint自定義View實現進度條控件方法示例
這篇文章主要給大家介紹了關于Android利用Paint自定義View實現進度條控件的相關資料,文中通過示例代碼介紹的非常詳細,對各位Android開發(fā)者們具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2017-11-11
Android開發(fā)中Intent.Action各種常見的作用匯總
今天小編就為大家分享一篇關于Android開發(fā)中Intent.Action各種常見的作用匯總,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12
Android開源組件SlidingMenu側滑菜單使用介紹
這篇文章主要介紹了Android開源組件SlidingMenu側滑菜單使用介紹,本文給出了SlidingMenu的項目地址、使用代碼、使用配置、常用的一些屬性設置中文注解等內容,需要的朋友可以參考下2015-01-01
Android Material設計中列表和卡片的創(chuàng)建方法解析
這篇文章主要介紹了Android Material設計中列表和卡片的創(chuàng)建方法解析,列表和卡片是Material Design視圖中的重要部分,需要的朋友可以參考下2016-04-04

