Android提供了一个XML驱动的框架,用于为应用程序创建系统样式的PreferenceScreen.

(3.0/API 11 以前)是这样使用的

看代码:

mypreference.xml

android:key="PREF_AUTO_REFRESH"

android:defaultValue="true"

android:summary="select to turn on automatic updating"

android:title="Auto Refresh" />

MainActivity.java

package com.example.preferencedemo;

import android.content.SharedPreferences;

import android.content.SharedPreferences.OnSharedPreferenceChangeListener;

import android.os.Bundle;

import android.preference.PreferenceActivity;

import android.preference.PreferenceManager;

import android.util.Log;

import android.view.Menu;

//当SharedPreferences发生变化的时候,可以监听其变化,并作出相应的处理

public class MainActivity extends PreferenceActivity implements

OnSharedPreferenceChangeListener {

private SharedPreferences mSharedPreferences;

private boolean mIsAutoRefresh;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

this.addPreferencesFromResource(R.xml.mypreference);

// 为PreferenceActivity中的选项记录的SharedPreferences值被存在app沙箱中,

// 这使得任何app组件都可以访问它(Activity/Service/BroadcastReceiver)

mSharedPreferences = PreferenceManager

.getDefaultSharedPreferences(this);

// 需要注册哦

mSharedPreferences.registerOnSharedPreferenceChangeListener(this);

mIsAutoRefresh = mSharedPreferences.getBoolean("PREF_AUTO_REFRESH",

false);

Log.d("test", "isAutoRefresh: " + mIsAutoRefresh);

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

@Override

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,

String key) {

Log.d("test", "key: " + key);

//根据其值,可以做相应的处理

//这个值改过以后,是会被存下来哦~~存在某个.xml文件夹中的

mIsAutoRefresh = mSharedPreferences.getBoolean(key, false);

Log.d("test", "isAutoRefresh: " + mIsAutoRefresh);

}

}

PS: 

源代码:

http://download.csdn.net/detail/null1989/6454243

android preferenceactivity 源码,PreferenceActivity PreferenceScreen (3.0/API 11 以前)相关推荐

  1. android 系统源码调试 局部变量值_如何方便快速的整编Android 9.0系统源码?

    点击上方"刘望舒",选择"星标" 多点在看,就是真爱! 作者 :  刘望舒  |  来源 :刘望舒的博客地址:http://liuwangshu.cn/fram ...

  2. 【Android 10 源码】healthd 模块 HAL 2.0 分析

    Android 9 引入了从 health@1.0 HAL 升级的主要版本 android.hardware.health HAL 2.0.这一新 HAL 具有以下优势: 框架代码和供应商代码之间的区 ...

  3. Android系统源码在线阅读(Android4.4~Android13.0)

    原文链接 ​Android系统源码在线阅读(Android4~Android13) Android系统源码下载.编译.刷机 玩转Android10(二)刷机操作 Android系统镜像刷机方法(一) ...

  4. quado编辑Android代码步骤,Ubuntu11.10下编译android内核源码

    编译android源码时并不会自动编译android内核,因此需要手动编译这部分代码.编译内核所用的时间比编译android源码要少得多,只需一会就编译完成. 1.确定内核版本 进入存放android ...

  5. android view 源码分析,Android ViewPager源码详细分析

    1.问题 由于Android Framework源码很庞大,所以读源码必须带着问题来读!没有问题,创造问题再来读!否则很容易迷失在无数的方法与属性之中,最后无功而返. 那么,关于ViewPager有什 ...

  6. 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

    作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...

  7. 在Eclipse中查看Android SDK源码

      很多时候我们需要查看Android SDK源码来更好的了解API和分析问题. SDK 源码 从Android4.0开始在AndroidSDK Manager中就为我们提供了SDK源码下载,打开Ec ...

  8. Android FrameWork学习(二)Android系统源码调试

    点击打开链接 通过上一篇 Android FrameWork学习(一)Android 7.0系统源码下载\编译 我们了解了如何进行系统源码的下载和编译工作. 为了更进一步地学习跟研究 Android ...

  9. Android Lifecycle源码解析(一)

    Android Lifecycle源码解析(一) 首先我们看HomeActivity中我们添加到一行代码 public class HomeActivity extends AppCompatActi ...

最新文章

  1. P2119 魔法阵(优化枚举,数学运算优化)难度⭐⭐⭐★
  2. Android中的网格布局
  3. 【JQuery】ajax 调用
  4. Mysql循环查询结果并设置排序编号
  5. 用CLIP增强视频语言的理解,在VALUE榜单上SOTA!
  6. Swift 的变化:从 2.2 到 3.0 会带来什么
  7. 20172327 2018-2019-1 《程序设计与数据结构》第五周学习总结
  8. 深度学习笔记_各种激活函数总结对比
  9. funcode拍飞虫C语言报告,funcode实验报告.doc
  10. 北理工-大二数据结构乐学编程题-约瑟夫问题、验证表、循环小数、综教楼后的坑...
  11. 简单学习Infopath
  12. php 单词替换,单词替换 - Shiyin's note
  13. onshape 做参考面等虚拟几何的装配和原点定位
  14. 游戏运行报错Exception EAccessViolation in module
  15. 数字化时代:电梯广告的喜与忧
  16. 品牌国际传播第一步:谁是最重要的人?| 直播活动预告
  17. WSL2设置局域网网访问
  18. oracle10g闪回恢复数据表
  19. 基于微信小程序的智慧社区系统
  20. 下载文件时设置文件名的方法

热门文章

  1. maven打包时跳过测试
  2. Vue3---安装Element-Plus组件库
  3. 小程序开发(5)-之封装组件
  4. express模板引擎 html,Express使用html模板的代码分析
  5. 学java要算法吗_学习java不可不知的几种算法
  6. 1 io口 stm32_从STM32分享各种硬件以及总线之GPIO简介
  7. 找第一个只出现一次的字符_leetcode哈希表之第一个只出现一次的字符
  8. qt程序运行时绘图出现错误
  9. android图片适配到裁剪框,Android图片剪裁-调用系统实现,完美适配魅族等机型
  10. rodbc 连接oracle,R語言 使用RODBC連接oracle數據庫