当前位置:  编程技术>移动开发

Android学习笔记之Shared Preference

    来源: 互联网  发布时间:2014-10-21

    本文导语:    如果没有特殊要求,我们可以使用Android提供的框架来创建系统样式的Preference Screen,在其内部可以包含PreferenceCategory和Preference元素的任意组合。建立Preference Screen,需要向里面添加首选项控件,原生的这些控件有:CheckBoxPr...

  如果没有特殊要求,我们可以使用Android提供的框架来创建系统样式的Preference Screen,在其内部可以包含PreferenceCategory和Preference元素的任意组合。建立Preference Screen,需要向里面添加首选项控件,原生的这些控件有:CheckBoxPreference、EditTextPreference、ListPreference、MultiSelectListPreference和RingtonePreference,每种控件至少包含4种属性:android:key,android:title,android:summary,android:defaultValue,用一种图来对其进行说明:

创建Preference有两种方法,第一种是使用PreferencesActivity。首先在res/values下创建一个arrays.xml用于存放ListPreference的数据

代码如下:



   
        Every Minute
        5 minutes
        10 minutes
        15 minutes
        Every Hour
   
   
        1
        3
        5
        6
        7
        8
       
   
        1
        3
        5
        6
        7
        8
     
   
        1
        5
        10
        15
        60
           



然后在res/xml下创建userpreferences.xml,用于定义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

代码如下:



      


最后在MainActivity中重写onBuildHeaders方法

代码如下:

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

搞定,效果如图:                然后点击Settings就会进入下个界面

                                                         


    
 
 

您可能感兴趣的文章:

  • Android布局——Preference自定义layout的方法
  • Android开发笔记之:返回键的复写onBackPressed()介绍
  • Android开发笔记之:如何安全中止一个自定义线程Thread的方法
  • Android Mouse实现过程详细笔记
  • Android开发笔记之:复写按钮方法
  • Android学习笔记(一)环境安装及第一个hello world
  • Android开发笔记之:一分钟学会使用Logcat调试程序的详解
  • Android笔记之:onConfigurationChanged详解
  • Android开发笔记之:如何屏蔽Button setClickable与setEnabled
  • Android笔记之:在ScrollView中嵌套ListView的方法
  • Android学习笔记--通过Application传递数据代码示例
  • Android学习笔记(二)App工程文件分析
  • Android开发笔记之:在ImageView上绘制圆环的实现方法
  • Android笔记之:App模块化及工程扩展的应用
  • Android开发笔记之:Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)
  • Android笔记之:深入为从右向左语言定义复杂字串的详解
  • Android开发笔记之:对实践TDD的一些建议说明
  • Android开发笔记之:深入理解Cursor相关的性能问题
  • Android学习笔记--使用剪切板在Activity中传值示例代码
  • Android笔记之:深入ViewStub的应用
  • 操作系统 iis7站长之家
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
  • Android瀑布流实例 android_waterfall
  • Android开发需要的几点注意事项总结
  • Android系统自带样式 (android:theme)
  • android 4.0 托管进程介绍及优先级和回收机制
  • Android网络共享软件 Android Wifi Tether
  • Android访问与手机通讯相关类的介绍
  • Android 图标库 Android GraphView
  • Android及andriod无线网络Wifi开发的几点注意事项
  • 轻量级Android开发工具 Android Tools
  • Android 2.3 下StrictMode介绍
  • Android 开发环境 Android Studio
  • IDEA的Android开发插件 idea-android
  • Android手机事件提醒 Android Notifier
  • XBMC的Android客户端 android-xbmcremote
  • Android小游戏 Android Shapes
  • Android电池监控 Android Battery Dog
  • android开发:“android:WindowTitle”没有对应项no resource
  • Android 上类似IOS 的开关控件。 Android ToggleButton
  • Android 将 android view 的位置设为右下角的解决方法
  • Android 2D游戏引擎 Android Angle


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3