- 浏览: 118193 次
- 性别:
- 来自: 重庆
-
文章分类
最新评论
PerferenceActivity是什么,看下面的截图:
Android系统截图(左) MusicPlayer Setting截图(右)
好了,我们看到Android系统本身就大量用到了PreferenceActivity来对系统进行信息配置和管理,那么它是怎么保存数据的呢,如何创建PrefenceActivity的呢,更关键是怎样触发相应事件的呢。
先看第一个问题,PreferenceActivity是如何保存的数据。对Android系统了解的都知道,Android系统有四种基本的数据保存方法,一是SharedPreference,二是文件,三是SQLite,四是ContentProvider。看出来了吧,Preference,对就是使用SharedPreferneces以键值对的形式进行保存的,当然,我们也可以通过SharedPreferences来获取PreferenceActivity设置的值。
第二个问题:如何创建一个PreferenceActivity。 其实Eclipse提供了相应的创建工具,和创建Layout是基本相同的。步骤如下:
创建Android项目,并添加一个Android xml文件。注意,这次选择的不是Layout,而是Preference,而且注意Folder路径是 res/xml.
添加完成之后,在res/xml/下打开添加的preference.xml文件。可以看到Android也为我们提供两种编辑模式,可视化的结构设计及xml源码设计。推荐使用structure进行创建。如图所示:
下面我们看看PrefeneceActivity都提供了哪几种元素可供使用。点击Add按钮,在打开的新窗口中可以看到以下几项:
CheckBoxPreference:CheckBox选择项,对应的值的ture或flase。如图:
EditTextPreference:输入编辑框,值为String类型,会弹出对话框供输入。
ListPreference: 列表选择,弹出对话框供选择。
Preference:只进行文本显示,需要与其他进行组合使用。
PreferenceCategory:用于分组。效果如下:
PreferenceScreen:PreferenceActivity的根元素,必须为它。
RingtonePreference:系统玲声选择。
OK,Preferenc的基本元素介绍完毕,下一节将使用它们创建一个完整的Preference并进行显示。
-------------------------------------------------------------------------------
分析MusicPlayer Setting,第一部分为“我的位置”,包括“使用无线网线”和“使用GPS”两个部分,而且都是CheckBox,根据上节学习,应该包括一个PreferenceCategory和两个CheckBoxPreference。
Xml代码:
<PreferenceCategory android:title="我的位置" android:key="set_local"> <CheckBoxPreference android:key="apply_wifi" android:summary="使用无线网络在应用程序(例如Google地图)中查看位置"
android:title="使用无线网络" android:defaultValue="true"> </CheckBoxPreference> <CheckBoxPreference android:key="apply_gps" android:summary="定位到街道级别(需要消耗更多的电量以及天气允许)"
android:title="使用GPS">
</CheckBoxPreference>
</PreferenceCategory>
以上代码当然也可以用Android提供的IDE工具直接生成。视频结构如下:
title:显示的标题
key:唯一标识(至少在同一程序中是唯一),SharedPreferences也将通过此Key值进行数据保存,也可以通过key值获取保存的信息 (以下相同)。
CheckBoxPreference属性分析:
Key:唯一标识.
title:显示标题(大字体显示)
summary:副标题(小字体显示)
defaultValue:默认值(当然,此处只能是true或false了)
Preference.xml的第二部分为“无线和网络设置”,此部分包括的内容比较多,也稍微复杂,一步一步来分析。
xml代码:
<PreferenceCategory android:title="无线和网络设置"> <CheckBoxPreference android:key="apply_fly" android:summary="禁用所有无线连接" android:title="飞行模式"> </CheckBoxPreference> <CheckBoxPreference android:key="apply_internet" android:summary="禁用通过USB共享Internet连接"
android:title="Internet共享"> </CheckBoxPreference> <CheckBoxPreference android:key="apply_wifi" android:summary="打开Wi-Fi" android:title="Wi-Fi"> </CheckBoxPreference> <Preference android:summary="设置和管理无线接入点" android:title="Wi-Fi设置" android:dependency="apply_wifi" android:key="wifi_setting"> </Preference> <CheckBoxPreference android:key="apply_bluetooth" android:summary="启用蓝牙" android:title="蓝牙"> </CheckBoxPreference> <Preference android:summary="管理连接、设备设备名称和可检测性" android:title="蓝牙设置" android:dependency="apply_bluetooth" android:key="bluetooth_setting"> </Preference> <EditTextPreference android:key="number_edit" android:title="输入电话号码"> </EditTextPreference> <ListPreference android:title="部门设置" android:entries="@array/department" android:entryValues="@array/department_value"
android:dialogTitle="选择部门" android:key="depart_value"> </ListPreference> <RingtonePreference android:ringtoneType="all" android:title="玲聲"
android:showDefault="true" android:key="ring_key"
android:showSilent="true"> </RingtonePreference> </PreferenceCategory>
对应的Structure图:
第二部分中前三个都为CheckBoxPreference,不心多说,从<Preference android:key="bluetooth_setting"/>开始。
Preference属性分析:
Key:唯一标识.
title:显示标题(大字体显示)
summary:副标题(小字体显示)
dependency:附属(嘛意思),即标识此元素附属于某一个元素(通常为CheckBoxPreference),dependency值为所附属元素的key。上面代码中的Preference元素附属于key等于“apply_bluetooth”的CheckPreference元素,当CheckPreference值为true时,Preference则为可用,否则为不可用。
EditTextPreperence属性分析:
Key:唯一标识.
title:显示标题(大字体显示)
ListPreference属性分析:
Key:唯一标识.
title:显示标题(大字体显示)
dialogTitle:弹出对话框的标题
entries:列表中显示的值。为一个数组,通读通过资源文件进行设置。
entryValues:列表中实际保存的值,也entries对应。为一个数组,通读通过资源文件进行设置。以下代码显示的是arrays.xml文件中内容:
<resources> <string-array name="department"> <item>综合部</item> <item>行政部</item> <item>外贸部</item> </string-array> <string-array name="department_value"> <item>001</item> <item>002</item> <item>003</item> </string-array> </resources>
RingtonePreference :玲声(暂时没有用到过),暂时略过。
OK,Preference.xml内容已经分析完毕,属性都大致相同,相信亲自动力一试也就那么回事。那么如何把Preference.xml中内容展现出来呢?
Layout是通过继续自Activity的类来进行显示的,前面提到过,PreferenceActivity是专门用于显示preference的,所以只要创建一个继承自PreferenceActivity类即可。代码如下:
public class Setting extends PreferenceActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 所的的值将会自动保存到SharePreferences addPreferencesFromResource(R.xml.preference); } }
接下来就是运行程序,显示劳动成果。至此,工作已经完成大半,所有的值都会保存到SharedPreferences中,我们也可以读取到保存的结果。
还有一个重要的问题,就是如何响应PreferenceActivity的操作。其实只要重写PreferenceActivity的 onPreferenceTreeClick的方法就可以了,通过参数preference来判断是对那一个元素进行的,并根据需要进行操作。
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { return false; }
Ok,到此关于PreferenceActvity的想关内容就完了,日后有什么重大发现会补上。
转载至:http://www.cnblogs.com/jdsjlzx/archive/2011/08/03/2126169.html
发表评论
-
Android Camera 使用小结
2012-03-06 17:07 1470Android Camera 使用小结 Android手 ... -
Android权限说明
2012-03-05 14:12 684程序执行需要读取到安全敏感项必需在androidma ... -
Android Bitmap和Canvas学习笔记
2012-03-05 11:45 780位图是我们开发中最常用的资源,毕竟一个漂亮的界面对用户是最 ... -
详解 Android 的 Activity 组件
2012-02-29 09:24 889Activity 的生命周期 和 J2ME 的 MI ... -
JNI技术与Android应用
2012-02-20 17:08 2792本文转自http://www.cnblogs.com/y ... -
如何发布打包并发布自己的Android应用(APP)
2012-02-20 15:30 770前面讲的都是关于And ... -
Android JNI知识简介
2012-02-16 17:33 810Java Native Interface (JNI)标准是j ... -
Android NDK: Host 'awk' tool is outdated.
2012-02-16 16:27 1171在使用Android NDK进行编译的时候可能会出现 Andr ... -
windows+eclipse+cygwin+cdt+ndk
2012-02-16 15:56 919代码下载 - 公共邮 ... -
解决Android自定义标题栏充满的问题
2012-02-15 10:27 816一个接着一个的activi ... -
WebView使用
2012-02-10 11:43 868WebView使用: Java代码 ... -
Android自定义title bar(标题栏)
2012-02-10 11:40 1236我们在开发程序是经常会需要软件全屏显示、自定义标题(使用按 ... -
Android应用开发中的风格和主题(style,themes)
2012-02-10 11:09 9749越来越多互联网企业都在Android平台上部署其客户端, ... -
Android 对话框(Dialog)大全 建立你自己的对话框
2012-02-10 10:03 781Activities提供了一种方便管理的创建、保存、回复 ... -
android:webView总结
2012-02-09 15:53 1218android:webView总结 大部分内容为网 ... -
Serializable 和 Parcelable 区别
2012-02-07 17:18 995android 中自定义的对象 ... -
Android中Intent传递对象的两种方法(Serializable,Parcelable)
2012-02-07 17:16 795转载自 http://blog.csdn.net/xyz ... -
Android拟器不能正常上网
2012-01-19 11:18 895启动模拟器后,可能模拟器不能正常上网,需要对模拟器进行设 ... -
Android平台常见属性集合
2012-01-19 10:56 913属性 值 说明 ... -
Android平台常见属性集合
2012-01-19 10:42 1属性 值 说明 android:orientation hor ...
相关推荐
11KW OBC两电平pfc+cllc仿真源码实现:单相与三相兼容版双向控制研究,11KW OBC两电平pfc+cllc仿真源码实现:单相与三相兼容版,实现双向控制策略,11KW OBC两电平pfc+cllc仿真,源代码实现。 注意:已成单相,三相兼容版仿真文件。 双向控制。 ,核心关键词:11KW OBC两电平pfc; CLLC仿真; 源代码实现; 单相三相兼容; 双向控制。,11KW OBC单相与三相兼容版仿真:两电平PFC+CLLC双向控制源代码实现
3GPP R15 38.331 5G NR无线资源控制(RRC)协议规范解析
五运六气YUNQI_V471_SRC_D1023
19考试真题最近的t63.txt
基于MATLAB的牛拉法电力系统潮流计算程序,结合BPA方法,附参考文献,适合基础学习与拓展创新,基于MATLAB的牛拉法电力系统潮流计算程序:涵盖基础学习与拓展创新,附参考文献,牛拉法电力系统潮流计算 MATLAB编写潮流计算程序 BPA计算潮流 另外包含参考文献 这个程序把潮流计算的一般流程包括了,非常适合基础学习,并进一步的进行拓展创新 ,牛拉法; 电力系统潮流计算; MATLAB; BPA计算; 程序编写; 流程; 基础学习; 创新拓展,基于MATLAB的牛拉法电力系统潮流计算程序:基础学习与拓展创新指南
YOLOv11m权重文件
高一-语文-2025年1月张家界市高一期末联考-缺考不计、违纪不计、0分不计_2025-01-16-12-21 (1).zip
android kotlin 版本的贪吃蛇游戏
19考试真题最近的t57.txt
基于疫情封控区域的生活物资配送优化模型:结合遗传算法与模拟退火,实现时间最短和综合满意率最高的路径优化。,疫情下封控区域生活物资配送优化模型:结合遗传算法与模拟退火算法求解路径优化问题,实现时间与满意率双重目标优化。,模型及MATLAB代码:考充分考虑并结合疫情下封控区域生活物资配送问题及车辆路径问题的特点构建物资配送优化模型。 在一般单一目标——时间最短的基础上,加入综合满意率优化目标的路径优化问题 关键词:遗传算法、改进、模拟 火算法,路径优化、CVRP 完整模型+代码+注释 主要内容:以配送时间最短及综合满足率最高为目标,充分考虑并结合疫情下封控区域生活物资配送问题及车辆路径问题的特点构建物资配送优化模型,为疫情下生活物资配送找到了更好的思路。 在模型设计与求解问题上,首先设计标准遗传算法,继而对算法加以改进,最后设计出了改进遗传-模拟 火算法对模型进行求解。 还有参数灵敏度分析等。 服务内容:脚本 工具 部分展示如下: ,关键词:疫情下物资配送;车辆路径问题;优化模型;遗传算法;改进;模拟退火算法;CVRP;参数灵敏度分析;脚本工具;时间最短;综合满意率。 核心关键词用分号分
## 01、数据介绍 动态能力理论最早由提斯(Teece)与皮萨洛(Pisano)于1994年正式提出,他们将动态能力定义为“能够创造新产品和新过程,以及对变化的市场环境做出响应的一系列能力”。 动态能力具体体现在吸收能力、创新能力和适应能力三个方面。这些能力使公司能够快速适应市场变化,抓住新的商业机会,从而保持或提升竞争优势。 数据名称:上市公司-动态能力数据 数据年份:2012-2023年 ## 02、相关数据及指标 证券代码 证券名称 年份 Symbol RD IA ACV DC
基于ASIO的插件式服务器,支持TCP, UDP, 串口,Http, Websocket,统一化的数据接口,隔离开发人员和IO之间的操作。可以快速迭代。PSS 是针对不同 IO 逻辑的插件管理系统。您可以忽略 IO 建立的细节,构建自己的 logic 应用程序。PSS 封装了 Tcp、udp、kcp、串行端口、http、websocket 和 ssl 的统一接口。您可以使用 配置文件 或 统一接口 来创建和使用它们。logic plug-in 是完成数据到达后的 logic 处理,全部以动态库的形式加载,将 IO 和 logic 本身的耦合分开。简单的逻辑开发。本项目由三部分组成 (1) 主机(2) 数据包分析插件(3) 逻辑处理插件。您可以实现后两个插件来完成您的业务逻辑部署。
电机控制器源码:通用无感BLDC方波控制,高效参数化启动,转速达12w,环控系统一键调节,电机控制器源码:通用无感BLDC方波控制,高效调速,参数宏定义便捷调试,最高电转速达12w,电机控制器,低压无感BLDC方波控制,全部源码,方便调试移植 1.通用性极高,图片中的电机,一套参数即可启动。 2. ADC方案 3.电转速最高12w 4.电感法和普通三段式 5.按键启动和调速 6.开环,速度环,限流环 7.参数调整全部宏定义,方便调试 代码全部源码 ,电机控制器;低压无感BLDC方波控制;全部源码;通用性极高;电转速最高12w;电感法与普通三段式;按键启动调速;开环、速度环、限流环;参数调整宏定义。,通用电机控制器:低压无感BLDC方波控制源码,支持高转速12W,便捷调试移植
基于MPC的电动汽车分布式协同自适应巡航控制:上下分层控制与仿真结果展示,基于MPC的电动汽车协同自适应巡航控制:上下分层控制与仿真结果展示,基于MPC的分布式电动汽车协同自适应巡航控制,采用上下分层控制方式,上层控制器采用模型预测控制mpc方式,产生期望的加速度,下层根据期望的加速度分配扭矩;仿真结果良好,能够实现前车在加减速情况下,规划期望的跟车距离,产生期望的加速度进行自适应巡航控制。 ,关键词:MPC(模型预测控制); 分布式电动汽车; 协同自适应巡航控制; 上下分层控制方式; 期望加速度; 扭矩分配; 仿真结果良好; 前车加减速; 跟车距离。,基于MPC的分层控制电动汽车自适应巡航系统,仿真实现前车加减速跟车距离自适应
多维度购电与售电模型构建及基于CVaR与WOA优化的收益风险评估方法研究,基于CVaR风险评价及WOA优化的新型售电公司购售电模型与策略仿真研究,建立了一个电公司的购电侧模型和电侧模型,其中购电侧模型包括长期市场业务,现市场业务,可再生能源购电市场业务,分布式电源购电市场业务以及储能租赁市场业务五种类型。 电侧包括均 电价合同和实时电价合同两种类型。 然后在购电模型的基础上,提出了一种基于CVaR的购电收益风险评价方法。 根据电公司的CVaR购电收益风险数学模型,提出了一种基于WOA优化算法的新型购电收益计算方法。 该方法将购电收益风险计算公式作为WOA优化算法的目标函数,然后通过WOA的鲸鱼行走觅食、鲸鱼包围以及鲸鱼螺旋捕食三个步骤计算电公司的最优购电策略。 最后,通过MATLAB仿真工具对本文所研究的基于WOA优化的新型购电收益计算方法进行了仿真分析。 仿真结论验证了通过WOA优化算法得到的购电策略为最优购电策略。 matlab代码 仿真平台:MATLAB平台 代码具有一定的深度和创新性,注释清晰 ,关键词: 1. 购电侧模型; 2. 售电侧模型; 3. 长期/现货/可再生
迅雷软件下载原理介绍.md
## 01、数据简介 碳排放是指在人类活动中,如能源消耗、工业生产、交通运输、农业活动等过程中向大气中释放的二氧化碳等温室气体的行为。这些温室气体在大气中形成隔热层,导致地球气温升高,引发全球气候变化。分行业碳排放则是指按照不同的经济活动或产业部门来划分和统计碳排放量。 按省市县整理成面板数据,其中包括电力行业、工业过程、工业燃烧、建筑物能源、浪费、农业、燃料能源和运输八种指标排放量各省市县的最大值、最小值、平均值、总和。 数据名称:省市县分行业碳排放月度数据 数据年份:2023年 ## 02、相关数据 name 指标 时间 数值 更多数据 ## 03、数据截图
基于OpenCV 相机校准 姿势估计 线性几何 立体图像的深度图
电力系统潮流计算标准算例库:涵盖多种格式与节点拓扑图的数据集(从3节点至300节点),电力系统潮流计算标准算例库:涵盖多种格式与节点拓扑图的数据集(从3节点至300节点全量收录),电力系统潮流计算标准算例的数据(从3节点到300节点都齐了)。 包含IEEE格式、BPA格式、清华格式,同时有各个节点的拓扑图 ,关键词:电力系统;潮流计算;标准算例;数据;节点;IEEE格式;BPA格式;清华格式;拓扑图,电力系统多节点潮流计算标准算例数据及拓扑图解析