【安卓笔记】快速开发设置界面-----PreferenceActivity

通常app都会有一个设置界面,如下:

通常做法是自己定义布局,然后在代码里面添加响应函数,并将结果保存到Sharedpreferences中。

android给我们提供了PreferenceActivity来简化开发设置界面。

你只需这样做:

1.创建一个类继承PreferenceActivity,并导入设置界面布局:

package com.example.preferenceactivitydemo1;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class MainActivity extends PreferenceActivity
{
	@SuppressWarnings("deprecation")
	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		addPreferencesFromResource(R.xml.main_preference);
	}

}

2.在res目录下添加xml文件夹,并创建一个名为main_preference(即代码中引用的资源文件)的文件.

3.编写资源文件。

上图设置界面对应的资源文件如下:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    android:title="标题" >
    <PreferenceCategory
        android:summary="分组1"
        android:title="分组1标题" >
        <ListPreference
            android:defaultValue="@string/defaultvalues"
            android:dialogTitle="对话框标题"
            android:entries="@array/entries"
            android:entryValues="@array/entriesvalue"
            android:key="myListPreference"
            android:summary="标题说明"
            android:title="小标题" />
        <CheckBoxPreference
            android:key="doubi"
            android:summaryOff="逗比模式关闭"
            android:summaryOn="逗比模式开启"
            android:title="逗比模式" >
        </CheckBoxPreference>
    </PreferenceCategory>
    <PreferenceCategory
        android:summary="分组2"
        android:title="分组2标题" >
        <SwitchPreference
            android:key="fly"
            android:summaryOff="已关闭飞行模式"
            android:summaryOn="已开启飞行模式"
            android:switchTextOff="关闭"
            android:switchTextOn="开启"
            android:title="飞行模式" >
        </SwitchPreference>
        <EditTextPreference
            android:defaultValue="zhangsan"
            android:dialogTitle="编辑姓名"
            android:key="name"
            android:summary="编辑您的姓名"
            android:title="编辑" >
        </EditTextPreference>
    </PreferenceCategory>
</PreferenceScreen>

其中引用了string.xml的相关内容:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">PreferenceActivityDemo1</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
	<string-array name="entries">
	    <item>小苹果</item>
	    <item>小香蕉</item>
	    <item>小西瓜</item>
	</string-array>
	<string-array name="entriesvalue">
	    <item>apple</item>
	    <item>banana</item>
	    <item>watermelon</item>
	</string-array>
	<string name="defaultvalues">apple</string>
</resources>

恩,就这么简单~

所有结果会保存到data/data/包名/shared_prefs目录下的包名_preferences.xml中,跟sharepreferences一样。

【安卓笔记】快速开发设置界面-----PreferenceActivity

时间: 2024-08-09 00:44:44

【安卓笔记】快速开发设置界面-----PreferenceActivity的相关文章

【安卓笔记】高速的发展设置界面-----PreferenceActivity

通常app都会有一个设置界面,例如以下: 通常做法是自定义布局,然后在代码里面加入响应函数,并将结果保存到Sharedpreferences中. android给我们提供了PreferenceActivity来简化开发设置界面. 你仅仅需这样做: 1.创建一个类继承PreferenceActivity,并导入设置界面布局: package com.example.preferenceactivitydemo1; import android.os.Bundle; import android.p

【安卓笔记】在拨号界面通过拨打指定号码来启动某个秘密界面

方案说明: 1.通过注册广播接收者监听用户拨打电话操作: 2.当用户拨打电话时,广播接收者接收到号码,并与指定的"暗号"对比,若匹配,则启动某个界面并且终止用户拨打电话操作. 实现: 1.在清单文件中配置广播接收者,并添加权限: <receiver android:name="cn.edu.chd.mobilesafe.receiver.CallPhoneReceiver" > <intent-filter android:priority=&qu

通用系列 —— 快速搭建设置界面

[关键词] 设置界面 通用系列 [问题] · 减少重复性代码,快速搭建设置界面(通过简单的配置,就可以达到想要的布局): [效果图] [分析] · 设置界面大同小异,无非由标题,内容,图标等元素组成: · 既然每一个设置项都有Title,那么就用Title的strId来作为它的唯一标识(便于点击等处理): · 复杂的地方在分割线的处理方式上(是整行显示,还是不要显示,又或者是在图像后面显示): · 继承自LinearLayout,要可以添加分割线,可以添加tips提示: [解决方案] 参考下方「

安卓手机应用开发培训讲义笔记和心得(Java和Mono两种模式)

培训内容    —————————————————————————————————————————————————————————————————— 昨天夏主要讲了两个方面的安卓手机开发 一:Java语言开发手机安卓 ① 准备发软件工具  环境   (可以直接本地搭建环境) 开发IDE:Eclipse(仅次于VS的强大IDE) 其它一大堆的东西:Android SDK  模拟器   SDK JDK DAT ②  window下搭建Eclipse+andro开发环境 安装步骤:一般首先安装ava运

RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2-&gt;WinForm版本新增新的用户权限设置界面

在实际应用中我们会发现,权限控制会经常变动,如:需要调整角色的分配,需要收回与授予某些角色.用户可访问的模块(菜单)与相应的操作权限.需要给某些角色添加与移除相应的用户等等,如果没有一个灵活可靠的配置管理工具将会使权限控制变得十分麻烦.用户授权管理模块就是为了方便用户.角色权限的集中统一管理而开发的模块.在用户授权管理模块,操作员可以添加或移动用户到指定的角色.可以分配或授予指定用户的模块(菜单)的访问权限.可以收回或分配指定用户的操作(功能)权限.可以对所有用户.角色.模块(菜单).操作(功能

RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2-&gt; Web版本新增新的用户权限设置界面

在实际应用中我们会发现,权限控制会经常变动,如:需要调整角色的分配,需要收回与授予某些角色.用户可访问的模块(菜单)与相应的操作权限.需要给某些角色添加与移除相应的用户等等,如果没有一个灵活可靠的配置管理工具将会使权限控制变得十分麻烦.用户授权管理模块就是为了方便用户.角色权限的集中统一管理而开发的模块.在用户授权管理模块,操作员可以添加或移动用户到指定的角色.可以分配或授予指定用户的模块(菜单)的访问权限.可以收回或分配指定用户的操作(功能)权限.可以对所有用户.角色.模块(菜单).操作(功能

Html5 Egret游戏开发 成语大挑战(九)设置界面和声音管理

在上一篇中,简单的使用界面元素快速实现了一个游戏中的二级页面,这种直接在游戏页面上做UI的做法并不太好,原因是,UI会让游戏的压力变大,即使它是隐蔽的,如果同样的功能在其它的地方也是一样的,那么就要写多个同样的逻辑吗?例如设置界面,游戏中的设置界面基本上功能都是一样,如果每个UI中都做一遍,是多么愚蠢的办法?在UI的代码设计中,一般来说,单独的功能不会在其它的地方用到,如GameOver,就直接写在UI里,而如果是通用功能,则最好的做法是做一个通用的单例类或者工厂类在需要的时候将它们初始化,在多

[Openwrt 项目开发笔记]:DDNS设置(五)

在上一节中,我主要讲述了如何在Openwrt上安装Samba服务器以及Ftp服务器.在本节中,我将介绍一下,一个比较使用的功能:DDNS.为远程物联网控制打下基础. 题外话:DDNS设置原本是极为简单的.可是由于我的路由所在现实环境的原因,以及我个人能力有限,一直无法达到我预期的目的,真是有点累觉不爱了. ok,言归正传,开始抛干货! 一.安装DDNS服务 opkg update opkg install ddns-scripts luci-app-ddns 二.注册一个动态域名 关于动态域名服

Qt之使用CQU库快速开发统一风格界面

在使用Qt开发时,肯定是想让开发的项目界面统一风格:不希望每个界面都要程序员用代码去修饰美化以及进行事件处理等等,这样非常繁琐,容易出错而且没有格调:所以我就开发一个动态链接库,封装统一的风格界面.事件处理等等:自己开发的这个库叫做CQU: CQU库最终提供给用户的文件只有如下三个文件: CQU.dll:动态库文件 libCQU.a:静态库文件 cquwidget.h 头文件 先给大家看看效果图,然后再讲述怎么使用CQU动态链接库来达到快速开发的目的 一.效果图 二.CQU外部接口CQU库提供的