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

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

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

  如果沒有特殊要求,我們可以使用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ù)

復(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中重寫onCreate方法,這個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類,重寫onCreate方法,使用addPreferencesFromResource來加載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,來關(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中重寫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);
    }
}

搞定,效果如圖:                然后點擊Settings就會進入下個界面

                                                         

相關(guān)文章

  • Android AlertDialog對話框用法示例

    Android AlertDialog對話框用法示例

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

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

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

    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)代碼

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

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

    Android屏蔽軟鍵盤自動彈出的解決方案

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

    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筆記之:App模塊化及工程擴展的應(yīng)用

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

    Android開發(fā)實現(xiàn)簡單的觀察者與被觀察者示例

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

    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)取效果

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

最新評論

阜新市| 湘乡市| 沙雅县| 黔南| 洛隆县| 上思县| 民权县| 固镇县| 长寿区| 五寨县| 友谊县| 许昌县| 孟津县| 拉萨市| 蒲江县| 新巴尔虎右旗| 田阳县| 应城市| 五峰| 黄平县| 德保县| 宝鸡市| 东安县| 安西县| 黑山县| 仲巴县| 滨海县| 鄱阳县| 读书| 容城县| 保定市| 潢川县| 巴彦淖尔市| 禹州市| 穆棱市| 图木舒克市| 嘉荫县| 西华县| 伊金霍洛旗| 东平县| 鄯善县|