MTK Android ListPreference的用法
首先,我们明确,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 eoe.demo;
import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
import android.util.Log;
/**
* @description 有关首选项preferences的研究
* @author chenzheng_java
* @since 2011/03/29
* 继承了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布局文件
java代码:
<?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为我们的list提供了初始化数据哦
java代码:
<?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文件如下:
java代码:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="myListPreference">fujian1</string>
</map>


MTK Android ListPreference的用法的更多相关文章
- android之ListPreference的用法_PreferenceActivity用法
首先,我们明确,preference是和数据存储相关的. 其次,它能帮助我们方便的进行数据存储!为什么这个地方一定要强调下方便的这个词呢?原因是,我们可以根本就不使用,我们有另外的N种办 ...
- 【Android学习】android:layout_weight的用法实例
对于android:layout_weight的用法,用下面的例子来说明: <LinearLayout xmlns:android="http://schemas.android.co ...
- Android之Adapter用法总结-(转)
Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(List View,Grid Vie ...
- Android之Adapter用法总结(转)
Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(List View,Grid Vie ...
- Android webservice的用法详细讲解
Android webservice的用法详细讲解 看到有很多朋友对WebService还不是很了解,在此就详细的讲讲WebService,争取说得明白吧.此文章采用的项目是我毕业设计的webserv ...
- Android之Adapter用法总结
http://blog.csdn.net/fznpcy/article/details/8658155 Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器 ...
- xamarin android viewpager的用法
1.什么是ViewPager 通过手势滑动可以完成view的切换,一般是用来app的引导页或则实现图片轮播,类似网页上的banner轮播. Adnroid 3.0后引入的一个UI控件,在xamarin ...
- MTK Android software Tools工具的说明
MTK发布的Android software Tools工具包,里面包含了很多的MTK工具,如下是简要说明及学习文档 MTK Android software Tools工具的说明如下: 工具 说明 ...
- Android开发PreferenceActivity 用法的代码
将开发过程中常用的一些内容做个收藏,下面资料是关于Android开发PreferenceActivity 用法的内容,希望对大伙有一些用处.public class Setting extends P ...
随机推荐
- springboot项目中接口入参的简单校验
.katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...
- vue组件通信(props,$emit,$attrs,$listeners)
朝颜陌 vue基础----组件通信(props,$emit,$attrs,$listeners) 一.父传子,子传孙 1. props 1>在父组件中通过子组件自定义的标签属性来传递数据. ...
- vue项目 github 上传项目并链接地址
git init git init: 通过命令git init把这个文件夹变成Git可管理的仓库git status git status:查看当前仓库状态 git add . 这里提示你虽然把项目粘 ...
- 2019-2020-2 20174313张博《网络对抗技术》Exp2-后门原理与实践
一.实验名称 后门原理与实践. 二.实验目的与要求 ·掌握后门的概念,知道常见的后门种类,深入理解后门的运作原理. ·掌握几种常见的后门工具,学会利用后门工具进行一些简单操作. ·增强信息安全意识,认 ...
- Java高效编程:总结分享
参考资料:慕课网:Java高效编程收费实战课程.博客园.CSDN.菜鸟教程以及其他文档. 篇幅受限,不太想针对每个点都写篇博客,有的地方可能写的不是很详细,一笔带过了.如果你觉得那个点在项目中用得上可 ...
- Idea中使用http请求解决中文乱码问题
以请求百度为例,使用如下代码即可解决: GET https://www.baidu.com User-Agent: Mozilla/.X MetaSr 1.0
- 李瑞红 201771010111《面向对象程序设计(java)》第一周学习总结
李瑞红 201771010111<面向对象程序设计(java)>第一周学习总结 第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.c ...
- 贪心-最大相容区间-Maximum Number of Events That Can Be Attended
2020-02-16 16:24:19 问题描述: 问题求解: 看起来就像是sort + 贪心,但是具体如何做呢? 实际上本题是最大相容区间的变种题,在最大相容区间里,我们按照结束时间对interva ...
- Linux系统c语言开发环境
项目 内容 这个作业属于哪个课程 班级地址 这个作业要求在哪里 作业要求地址 学号-姓名 17041506-张政 学习目标 Linux系统下C语言开发环境搭建,学习Linux系统环境C语言开发过程 L ...
- Android适配器
Android适配器 安卓的适配器在我看来是一个非常重要的知识点,面对形式相同但数据源较多的情况时,适配器是一个比较好的解决方法.数据适配器是建立了数据源与控件之间的适配关系,将数据源转换为控件能够显 ...