Android學(xué)習(xí)筆記之Shared Preference
如果沒有特殊要求,我們可以使用Android提供的框架來創(chuàng)建系統(tǒng)樣式的Preference Screen,在其內(nèi)部可以包含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的數(shù)據(jù)
<?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,來關(guān)聯(lián)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應(yīng)用詳解(2)
- Android之PreferenceActivity應(yīng)用詳解
- Android 清除SharedPreferences 產(chǎn)生的數(shù)據(jù)(實例代碼)
- android中使用SharedPreferences進行數(shù)據(jù)存儲的操作方法
- Android中刪除Preference詳解
- Android SharedPreferences的使用分析
- Android設(shè)置PreferenceCategory背景顏色的方法
- Android編程之ListPreference用法實例分析
- android開發(fā)基礎(chǔ)教程—SharedPreferences讀寫
- Android中SharedPreference使用實例講解
- Android PreferenceActivity與PreferenceFragment詳解及簡單實例
相關(guān)文章
android頂部(toolbar)搜索框?qū)崿F(xiàn)代碼
這篇文章主要介紹了android頂部(toolbar)搜索框?qū)崿F(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01
android studio 清單配置文件androidmainfest.xml詳細解讀
AndroidManifest官方解釋是應(yīng)用清單,每個應(yīng)用的根目錄中都必須包含一個,并且文件名必須一模一樣,這個文件中包含了APP的配置信息,系統(tǒng)需要根據(jù)里面的內(nèi)容運行APP的代碼,顯示界面,這篇文章介紹了android studio 清單配置文件androidmainfest.xml解讀,需要的朋友可以參考下2024-04-04
Android編程實現(xiàn)監(jiān)控各個程序流量的方法
這篇文章主要介紹了Android編程實現(xiàn)監(jiān)控各個程序流量的方法,涉及Android針對應(yīng)用包的遍歷,權(quán)限控制及相關(guān)屬性操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-12-12
Android筆記之:App模塊化及工程擴展的應(yīng)用
這篇文章是android開發(fā)人員的必備知識,是我特別為大家整理和總結(jié)的,不求完美,但是有用2013-04-04
Android開發(fā)實現(xiàn)簡單的觀察者與被觀察者示例
這篇文章主要介紹了Android開發(fā)實現(xiàn)簡單的觀察者與被觀察者,簡單描述了觀察者模式的概念、原理并結(jié)合實例形式分析了Android實現(xiàn)觀察者模式的簡單操作技巧,需要的朋友可以參考下2017-11-11
Android中用RxJava和ViewPager實現(xiàn)輪播圖
現(xiàn)在App中實現(xiàn)一個輪播圖已經(jīng)是很多產(chǎn)品的標(biāo)配了,這篇文章給大家詳細介紹了如何利用RxJava和ViewPager實現(xiàn)輪播圖,有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-09-09
Flutter利用Canvas模擬實現(xiàn)微信紅包領(lǐng)取效果
這篇文章主要為大家詳細介紹了如何利用Flutter中的Canvas模擬實現(xiàn)微信紅包領(lǐng)取的效果,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2022-03-03

