android之ListPreference的用法_PreferenceActivity用法

article/2025/9/26 16:34:42

首先,我们明确,preference是和数据存储相关的。

       其次,它能帮助我们方便的进行数据存储!为什么这个地方一定要强调下方便的这个词呢?原因是,我们可以根本就不使用,我们有另外的N种办法可以实现同样的功能!它的出现,相当于为我们提供了一个方便的工具,当然了,这个工具并不是必须的。

       preference都应用在什么场景呢?

       这得从android对preference的实现说起,实际上,preference所存储的数据最后都会以xml文件格式的形式进行保存,而且其只能 保存一些基本格式的数据。例如string/boolean……。该xml文件存放的位置在data/data/你应用的包名/shared_prefs 文件夹下。

       种种的限制与实现机制表明了,preference非常适合于参数设置功能。实际上,它也确实是干这个的,我们通过使用preference可以迅速的将某些值保存进xml文件中,然后我们可以读取这些设置信息进行相应的操作。
为了简化与preference相关的应用开发,android为我们提供了一系列的api来帮助我们。主要有PreferenceActivity,ListPreference,EditTextPreference,CheckBoxPreference,RingtonePreference

       下面我们简单的介绍下ListPreference的用法:

我们选择了山东,然后该页面就会自动关闭,并且和山东所对应的值也已经写入了后台的xml文件中。
java代码:

package jason.demo;
import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
import android.util.Log;
/**
* @description 有关首选项preferences的研究
* 继承了PreferenceActivity,我们可以方便的对preference进行操作。
* 例如可以通过getPreferenceManager获取首选项管理器
* 那,我们可不可以不继承PreferenceActivity呢?当然可以,实际上Activity类中
* 就有个SharedPreferences getSharedPreferences(String name, int mode)方法呢,我们通过它
* 也可以对preference进行操作。当然了,如果我们不继承PreferenceActivity的话,那么我们就要手动的
* 对数据进行保存了。而不是跟现在一样,会自动的根据你的选择项进行数据保存。
* 那么,preference在这里是怎么样进行自动保存的呢,答案很简单,那就是在addPreferencesFromResource方法的具体实现中!
*/
public class MyPreferencesActivity extends PreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.mylistpreference);
/**
* getPreferenceManager返回首选项管理器对象
*/
PreferenceManager manager = getPreferenceManager();
// 根据android:key中指定的名称(相当于id)来获取首选项
ListPreference listPreference = (ListPreference) manager.findPreference("myListPreference");
Log.i("存储的值为", ""+listPreference.getValue());
}
}

res/xml/mylistperference.xml布局文件

<?xml version="1.0" encoding="utf-8"?>
<!--
对于该文件需要注意以下几点
第一:位置。该文件的位置是在res/xml/下的。
第二:格式,PreferenceScreen为根标签,ListPreference为子标签
第三:标签属性含义
android:key 唯一标识符,和android:id相类似,PreferenceManager可以以其为参数通过findPreference获取指定的preference
android:title 整个屏幕的标题
android:summary 选项的简单说明
android:entries 弹出的对话框中,列表显示的文本内容,注意哦,这里指定的是一个数组
android:entryValues 与android:entries相对应的值
android:defaultValue 当对应值不存在时的默认值
android:dialogTitle 弹出的对话框中的标题信息
-->
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:key="screen_list"
android:title="标题"
android:summary="说明摘要"
>
<ListPreference
android:key="myListPreference"
android:title="标题"
android:summary="说明摘要"
android:entries="@array/list_entries"
android:entryValues="@array/list_entries_value"
android:dialogTitle="dialogTitle"
android:defaultValue="@array/list_entries_value2"
></ListPreference>
</PreferenceScreen> 

res/values/arrays.xml文件,为上面的文件提供数据

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="list_entries">
<item>山东</item>
<item>福建</item>
<item>北京</item>
<item>河北</item>
</string-array>
<string-array name="list_entries_value">
<item>shandong1</item>
<item>fujian1</item>
<item>beijing1</item>
<item>hebei1</item>
</string-array>
<string-array name="list_entries_value2">
<item>shandong2</item>
<item>fujian2</item>
<item>beijing2</item>
<item>hebei2</item>
</string-array>
</resources> 

当我们运行,并选择了福建时,我们可以查看在shared_prefes下的xml文件如下:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="myListPreference">fujian1</string>
</map> 





 


http://chatgpt.dhexx.cn/article/xp07kgpx.shtml

相关文章

ListPreference详解与使用

listprefenence比switchpreference多了一个arrays.xml&#xff0c;这个arrays.xml就是用来写我们需要的list的内容。 以切换mode功能为例&#xff0c;就是切换协议的mode&#xff0c;一共需要五个选项。除了switchpreference中的key&#xff0c;title&#xff0c;summary和pers…

互联网协议 — TCP — 流量控制

目录 文章目录 目录TCP 流量控制流量控制处理流程 TCP 流量控制 TCP 流量控制由滑动窗口&#xff08;Sliding Window&#xff09;技术支撑。Sender 根据 Receiver 返回 ACK 中包含的 Window Size 字段来动态调整自身发送 Segments 的速率&#xff0c;以此保证收发双方不会因为…

电信网络性能质量测量

电信网络性能质量测量 作者:千里孤行(http://blog.csdn.net/yanghehong) 为什么要有质量和性能的测量 • 验证系统架构,配置 • 定位已有问题 • 及早发现潜在问题 • 为系统架构演进提供数据支持 服务质量的四个视角 服务质量的网络部分和非网络部分 从网络角度出发, QoS…

网络性能指标简介

网络性能指标简介 1. 网络容量&#xff08;Network Capacity&#xff0c;NC&#xff09; 网络容量是描述无线网络性能的最重要的指标之一&#xff0c;该指标使得人们在给定无线信道的基本容量限制的条件下&#xff0c;能够确定一些应用在理论上是否可行。网络容量通常指理论上…

基于神经网络的天气质量指数预测

基于神经网络的空气质量指数预测 1 项目背景 1.1背景 随着我国经济的快速发展&#xff0c;大量的工厂企业以及尾气排放使得大气环境污染日益严重&#xff0c;所以大气污染的预测防治工作应该加大力度[1]。通过预测未来影响空气质量指数的污染物浓度&#xff0c;实现我们对短…

腾讯海外轻量服务网络质量下降原因和解决方法

腾讯海外轻量服务网络质量下降原因和解决方法 腾讯海外轻量服务网络质量下降原因和解决方法问题背景问题原因影响这个问题是否会自动解决呢?解决方案有吗?方案一: GAME加速.方案二: 使用优质带宽的中转服务器方案三: 让你的服务器提供方帮你一站式解决问题 腾讯海外轻量服务网…

NQA网络质量分析

NQA网络质量分析&#xff0c;是一种实时的网络性能探测和统计技术&#xff0c;可以对响应时间、网络抖动、丢包率等网络信息进行统计NQA能实时监视网络QOS&#xff0c;在网络发生故障时有效的诊断和定位。&#xff08;和BFD不同&#xff0c;BFD像侦测兵报告错误&#xff0c;NQA…

网络测量指标

文章目录 1 性能类指标1.1 时延1.2 带宽1.3 丢包 2 流量类指标3 拓扑类指标3.1 拓扑结构中心性3.2 拓扑结构相似性3.3 拓扑结构鲁棒性3.4 其他 1 性能类指标 1.1 时延 时延指一个报文或分组从网络的一端传送到另一端所需要的时间&#xff0c;包括发送时延&#xff08;传输时延…

直播网络质量检测流程

**目录 一、检测定义 2 1.1直播卡顿检测 2 1.2高延迟检测 2 1.3线路切换检查 2 二、时序图 3 2.1播放控制 3 2.2故障控制 4 三、 检测流程图 5 3.1卡顿延迟检测流程 5 3.2线路切换流程 6**一、检测定义 1.1直播卡顿检测 1、计录每秒接收帧数&#xff0c;共N&#xff08;默认值…

如何快速测试网络链路质量?

在我们日常工作、学习、上网过程中经常会遇到网络卡、慢、时断时续的现象&#xff0c;企业的信息中心或是网络中心经常会接到这样的投诉&#xff0c;那这个网络故障到底是由什么原因引起的呢&#xff1f;这是个非常复杂的事情&#xff0c;解决起来也是比较头疼&#xff0c;特别…

弱网络测试

弱网络 简单理解&#xff1a;网络不好&#xff1b;网络环境复杂、使用场景多变&#xff1b;异常逻辑检查。 弱网络测什么 测试标准 客户端的核心场景必须有断线重连机制&#xff0c;并在有网络抖动、延时、丢包的网络场景下&#xff0c;客户端需达到以下要求&#xff1a; 一. …

网络性能评价方法

网络性能评价的实现 网络的优劣会影响网络交互的延迟时间、稳定性和速度&#xff0c;从用户体验上集中表现为打开页面的速度缓慢。比如在较差的网络并发的请求数会被降低&#xff0c;以避免网络性能因为阻塞而进一步恶化。 针对不同网络品质的优化的前提就是要有一种方法来度…

网络性能评价

这里并不是要系统说明网络性能评测&#xff0c;而是闲聊一些体会。 系统观 从考察网络的性能角度上来看网络&#xff0c;总是难以捉摸&#xff0c;其中涉及的因素很多。各种网络参数和各类概率事件相互作用&#xff0c;最终表现出一个不断变化的系统环境。作为一个运用网络的开…

如何测试网络线路的质量

不接触网络的人&#xff0c;不会去关注网络的质量问题&#xff0c;只会考虑怎么没有网络了&#xff0c;这是什么情况&#xff1f;OK&#xff0c;小面我用自己的理解来解释如何衡量网络的质量标准 其实&#xff0c;我总结的这些都是通过在多台POS机系统&#xff08;每个店使用的…

网络性能评估

在Linux中常见的网络性能指标如下 l 带宽 表示链路的最大传输速率&#xff0c;单位是b/s 比特/秒&#xff0c;在位服务器选网卡时&#xff0c;带宽就是最核心的参考指标&#xff0c;常用的带宽有1000M&#xff0c;10G&#xff0c;40G&#xff0c;100G等 网络带宽测试&#…

LTE 网络质量指标

网络质量参数 对于UE而言&#xff0c;LTE网络质量主要看三个参数&#xff1a;RSRP&#xff0c;SINR&#xff0c;RSRQ。 RSRP是参考信号接收功率&#xff0c; 取值范围&#xff1a;-44 ~ -140dBm&#xff0c;值越大越好。 SINR是信噪比指标&#xff0c;取值范围&#xff1a;0…

Android实时网络质量检测

Android实时质量检测 传送门&#xff1a; github csdn 原理 使用ping -n -i %f -c %d %s命令实现网络质量检测&#xff0c;具体参数如下&#xff1a; -n count 发送 count 指定的 ECHO 数据包数。默认值为 4 -i 生存时间 -c 路由隔离仓标识符 如图ping后返回的最后一行可以…

为什么网站总显示服务器不能创建对象,Win7系统下IE网页报错“Automation 服务器不能创建对象”怎么办?...

在Win7系统下使用微软老牌IE浏览器经常出现各种各样的故障&#xff0c;比如当前页面脚本出现错误、网页无法播放视屏、无法加载FLASH播放器等&#xff0c;近日又有用户反馈IE网页报错“Automation 服务器不能创建对象”&#xff0c;据了解&#xff0c;出现这种情况是部分网站脚…

JS 解决IE浏览器出现Automation 服务器不能创建对象

1、Automation 服务器不能创建对象 解决方案&#xff1a; 工具 -> Internet选项 -> 安全 -> 自定义级别->ActiveX控件和插件&#xff08;启用如下ActiveX控件设置&#xff09; 2、IE浏览器上传文件时本地路径变成”C:\fakepath\” 解决方案&#xff1a; 工具 -&…