Android开发教程:PreferenceActivity使用简介
来源:互联网 发布:西安中软博通软件 编辑:程序博客网 时间:2024/06/05 03:08
转:http://liuzhichao.com/p/528.html
当我们的应用需要保存用户设置信息的时候,你可能会想到用之后学习过的Activity+Preference来完成,前者用于界面构建 后者用于保存用户的设置信息。这理论上来讲这是可行的,但是实际操作起来却是一件很繁琐的事情,特别是当设置项较多的时候, 每个设置选项都要建立与其对应的Preference,还要即时保存用户设置的改变。其实Android已经为我们提供了用于设置界面的组件,那就是PreferenceActivity。Android系统本身就大量用到了PreferenceActivity来对系统进行信息配置和管理,比如Android系统中的设置。下面我们模拟Android中的网络设置,运行效果如下:
1、如何创建一个PreferenceActivity?
我们借助Eclipse可以很方便的创建PreferenceActivity,新建一个工程,然后添加一个Android xml文件,这里需要选择的是Preference而不是layout或其他,当我们输入名称后可以在res/xml下找到你新建的xml文件。接着我们可以通过可视化的结构设计或者xml源码设计添加设置项。下面是我们这个例子中的设置项信息:
<?xml version="1.0" encoding="utf-8"?><PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > <PreferenceCategory android:key="set_net" android:title="网络设置" > <CheckBoxPreference android:key="set_3g" android:summary="使用3G虽可提高数据载入速度,但可能会降低电池寿命" android:title="启用3G" /> <CheckBoxPreference android:key="set_2g" android:summaryOff="打开蜂窝数据" android:summaryOn="关闭蜂窝数据" android:title="蜂窝数据" /> <Preference android:key="set_2g_net" android:title="蜂窝数据网络" /> <CheckBoxPreference android:key="set_roving" android:summary="在境外时请关闭数据漫游" android:title="数据漫游" /> </PreferenceCategory> <PreferenceCategory android:key="set_VPN_Category" android:title="VPN设置" > <Preference android:key="set_VPN" android:title="设置VPN" /> </PreferenceCategory></PreferenceScreen>
那么如果显示呢?然后我们创建一个Activity继承自PreferenceActivity类即可。代码如下:
package com.liuzhichao.sharedpreferences;import android.os.Bundle;import android.preference.PreferenceActivity;public class SharedPreferencesDemoActivity extends PreferenceActivity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 所的的值将会自动保存到SharePreferencesaddPreferencesFromResource(R.xml.netsetting);}}
运行工程,效果即是我们之前的那张效果图。
2、PreferenceActivity元素说明
我们在新建的setting.xml里按Alt+/ 可以看到PreferenceActivity中的元素如下:
- CheckBoxPreference:CheckBox选择项,对应的值的ture或flase
- EditTextPreference:输入编辑框,值为String类型,会弹出对话框供输入。
- ListPreference: 列表选择,弹出对话框供选择。
- Preference:只进行文本显示,需要与其他进行组合使用。
- PreferenceCategory:用于分组。
- PreferenceScreen:PreferenceActivity的根元素
- RingtonePreference:系统玲声选择。
- PrefeneceActivity都提供了哪几种元素可供使用
常见属性说明:
title:显示的标题
key:唯一标识(至少在同一程序中是唯一),SharedPreferences也将通过此Key值进行数据保存,也可以通过key值获取保存的信息
summary:副标题、说明(小字体显示)
defaultValue:默认值(当然,此处只能是true或false了)
android:summaryOn:属性开启的时候的说明
android:summaryOff:属性关闭时候的说明
dialogTitle:弹出对话框的标题
entries:列表中显示的值。为一个数组,通读通过资源文件进行设置。
entryValues:列表中实际保存的值,也entries对应。为一个数组,通读通过资源文件进行设置。
- Android开发教程:PreferenceActivity使用简介
- Android开发教程:PreferenceActivity使用简介
- Android PreferenceActivity简介
- Android PreferenceActivity简介
- Android PreferenceActivity简介
- PreferenceActivity使用简介
- PreferenceActivity使用简介
- Android开发之PreferenceActivity的使用
- Android PreferenceActivity 详解教程
- Android PreferenceActivity 详解教程
- Android开发之PreferenceActivity
- Android开发之PreferenceActivity .
- android PreferenceActivity 使用
- Android PreferenceActivity使用
- android PreferenceActivity使用
- Android PreferenceActivity简单使用
- 【PreferenceActivity】PreferenceActivity简介
- Android开发--详解SharedPreference/PreferenceActivity
- arm ldm stm指令解析
- IOS开发指南读书笔记6(UIView家族)
- Win32Project编译报错error C1853:
- HDU 3472 HS BDC 混合欧拉回路通路
- Device namespace简介 - 基于Kernel namespace的设备虚拟化
- Android开发教程:PreferenceActivity使用简介
- 剑指offer第三十二题【把数组排成最小的数】c++实现
- IOS开发指南读书笔记7(ScrollView)
- 第一章百宝云基础语法新手教程第一节变量与常量
- jQuery选择器
- Android Service完全解析,关于服务你所需知道的一切(下)
- DOS命令打印文件列表树
- 网页设计大赛第二天
- IOS开发指南读书笔记8(AutoLayout) 2