最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android學(xué)習(xí)筆記之Shared Preference

 更新時(shí)間:2013年09月27日 14:58:21   作者:  
在之前遇到有個(gè)需求是要改settings里面自動(dòng)轉(zhuǎn)屏的首選項(xiàng),于是就學(xué)習(xí)了下Shared Preference。Shared Preference是一種簡(jiǎn)單的、輕量級(jí)的鍵/值對(duì)機(jī)制,用于保存原始應(yīng)用程序數(shù)據(jù),最常見(jiàn)的就是首選項(xiàng)

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

創(chuàng)建Preference有兩種方法,第一種是使用PreferencesActivity。首先在res/values下創(chuàng)建一個(gè)arrays.xml用于存放ListPreference的數(shù)據(jù)

復(fù)制代碼 代碼如下:

<?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

復(fù)制代碼 代碼如下:

<?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中重寫(xiě)onCreate方法,這個(gè)MainActivity要繼承PreferenceActivity,使用addPreferencesFromResource添加PreferenceScreen

復(fù)制代碼 代碼如下:

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類,重寫(xiě)onCreate方法,使用addPreferencesFromResource來(lái)加載userpreferences.xml

復(fù)制代碼 代碼如下:

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,來(lái)關(guān)聯(lián)UsePreferenceFragment

復(fù)制代碼 代碼如下:

<?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中重寫(xiě)onBuildHeaders方法

復(fù)制代碼 代碼如下:

public class MainActivity extends PreferenceActivity
{   
    @Override
    public void onBuildHeaders(List<Header> target)
    {
        // TODO Auto-generated method stub
        loadHeadersFromResource(R.xml.preference_headers, target);
    }
}

搞定,效果如圖:                然后點(diǎn)擊Settings就會(huì)進(jìn)入下個(gè)界面

                                                         

相關(guān)文章

  • Android AlertDialog對(duì)話框用法示例

    Android AlertDialog對(duì)話框用法示例

    這篇文章主要介紹了Android AlertDialog對(duì)話框用法,結(jié)合實(shí)例形式分析了AlertDialog對(duì)話框的功能及常見(jiàn)使用技巧,需要的朋友可以參考下
    2016-06-06
  • android頂部(toolbar)搜索框?qū)崿F(xiàn)代碼

    android頂部(toolbar)搜索框?qū)崿F(xiàn)代碼

    這篇文章主要介紹了android頂部(toolbar)搜索框?qū)崿F(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • android studio 清單配置文件androidmainfest.xml詳細(xì)解讀

    android studio 清單配置文件androidmainfest.xml詳細(xì)解讀

    AndroidManifest官方解釋是應(yīng)用清單,每個(gè)應(yīng)用的根目錄中都必須包含一個(gè),并且文件名必須一模一樣,這個(gè)文件中包含了APP的配置信息,系統(tǒng)需要根據(jù)里面的內(nèi)容運(yùn)行APP的代碼,顯示界面,這篇文章介紹了android studio 清單配置文件androidmainfest.xml解讀,需要的朋友可以參考下
    2024-04-04
  • Android 將文件下載到指定目錄的實(shí)現(xiàn)代碼

    Android 將文件下載到指定目錄的實(shí)現(xiàn)代碼

    本文通過(guò)實(shí)例代碼給大家介紹了android將文件下載到指定目錄的實(shí)現(xiàn)方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧
    2017-06-06
  • Android屏蔽軟鍵盤(pán)自動(dòng)彈出的解決方案

    Android屏蔽軟鍵盤(pán)自動(dòng)彈出的解決方案

    在編輯框輸入內(nèi)容時(shí)會(huì)彈出軟鍵盤(pán),而手機(jī)屏幕區(qū)域有限往往會(huì)遮住輸入界面,怎么實(shí)現(xiàn)這種效果呢?下面小編給大家分享了Android屏蔽軟鍵盤(pán)自動(dòng)彈出的解決方案,需要的朋友參考下吧
    2017-01-01
  • Android編程實(shí)現(xiàn)監(jiān)控各個(gè)程序流量的方法

    Android編程實(shí)現(xiàn)監(jiān)控各個(gè)程序流量的方法

    這篇文章主要介紹了Android編程實(shí)現(xiàn)監(jiān)控各個(gè)程序流量的方法,涉及Android針對(duì)應(yīng)用包的遍歷,權(quán)限控制及相關(guān)屬性操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-12-12
  • Android筆記之:App模塊化及工程擴(kuò)展的應(yīng)用

    Android筆記之:App模塊化及工程擴(kuò)展的應(yīng)用

    這篇文章是android開(kāi)發(fā)人員的必備知識(shí),是我特別為大家整理和總結(jié)的,不求完美,但是有用
    2013-04-04
  • Android開(kāi)發(fā)實(shí)現(xiàn)簡(jiǎn)單的觀察者與被觀察者示例

    Android開(kāi)發(fā)實(shí)現(xiàn)簡(jiǎn)單的觀察者與被觀察者示例

    這篇文章主要介紹了Android開(kāi)發(fā)實(shí)現(xiàn)簡(jiǎn)單的觀察者與被觀察者,簡(jiǎn)單描述了觀察者模式的概念、原理并結(jié)合實(shí)例形式分析了Android實(shí)現(xiàn)觀察者模式的簡(jiǎn)單操作技巧,需要的朋友可以參考下
    2017-11-11
  • Android中用RxJava和ViewPager實(shí)現(xiàn)輪播圖

    Android中用RxJava和ViewPager實(shí)現(xiàn)輪播圖

    現(xiàn)在App中實(shí)現(xiàn)一個(gè)輪播圖已經(jīng)是很多產(chǎn)品的標(biāo)配了,這篇文章給大家詳細(xì)介紹了如何利用RxJava和ViewPager實(shí)現(xiàn)輪播圖,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。
    2016-09-09
  • Flutter利用Canvas模擬實(shí)現(xiàn)微信紅包領(lǐng)取效果

    Flutter利用Canvas模擬實(shí)現(xiàn)微信紅包領(lǐng)取效果

    這篇文章主要為大家詳細(xì)介紹了如何利用Flutter中的Canvas模擬實(shí)現(xiàn)微信紅包領(lǐng)取的效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-03-03

最新評(píng)論

衡山县| 海丰县| 托克托县| 松潘县| 凭祥市| 利辛县| 鄂托克前旗| 灯塔市| 柳州市| 衡南县| 德格县| 武川县| 重庆市| 财经| 大邑县| 祁连县| 崇仁县| 伊吾县| 横峰县| 柘城县| 外汇| 房山区| 博白县| 光泽县| 万盛区| 青岛市| 佛山市| 鱼台县| 新乡市| 兴业县| 内黄县| 佛教| 潼关县| 镇安县| 仙桃市| 安福县| 信丰县| 镇原县| 万年县| 皋兰县| 金秀|