- 浏览: 533490 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
tangyunliang:
大哥你太历害了谢谢
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
u013015029:
LZ,请问下,在// 添加消息到聊天窗口 , 这里获取Ed ...
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
endual:
怎么保持会话,我搞不懂啊
Android基于XMPP Smack Openfire开发IM【一】登录openfire服务器 -
donala_zq:
显示:[2013-11-30 11:50:36 - Andro ...
android-----------新浪微博 -
donala_zq:
哥,运行不了啊
android-----------新浪微博
PreferenceActivity 介绍 :
PreferenceActivity 继承ListActivity 它是以一个列表的形式在展现内容,它最主要的特点是添加Preference可以让控件的状态持久化储存,举个例子 比如用户选中checkbox后 退出应用然后在进入应用,这时用户希望看到的是checkbox被选中,所以软件须要记录用户每次操作的过程并且持久储存,在进入应用的时候须要判断这些久储存的数据然后将系统控件的状态呈现在UI中。
尤其是软件开发肯定会有一堆设置选项选项,每次进入Activity都去手动的去取储存的数据,这样代码会变得很复杂很麻烦。 这个时候Preference就出来了,它就是专门解决这些特殊的选项保存与读取的显示。用户每次操作事件它会及时的以键值对的形式记录在SharedPreferences中,Activity每次启动它会自动帮我们完成数据的读取以及UI的显示。
android开发中一共为我们提供了4个组件,分别是CheckBoxPreference组件、EditTextPreference组件、ListPreference组件、RingtonePreference组件,下面我用一个例子一一向同学们介绍一下。
工程结构图:
[img]
[/img]
运行效果图:
[img]
[/img]
main.xml
ControlActivity
CheckBoxPreference组件
CheckBoxPreference 选中为true 取消选中为false 它的值会以boolean的形式储存在SharedPreferences中。
checkbox.xml
CheckBoxActivity
EditTextPreference组件
EditTextPreference 点击后会弹出一个输入框,输入的内容会以字符串的的形式储存在SharedPreferences中。
edittext.xml
EditTextActivity
ListPreference组件
在res/array中先写两个数组,一个用与list的显示内容,一个用户list的选中数值。
ListPreference点击后会弹出一个列表框,选中后会将选中的内容(上面数组中的值)会以字符串的的形式储存在SharedPreferences中。
list.xml
res/valus/array.xml
ListActivity
RingtonePreference组件
RingtonePreference点击后会弹出一个系统铃声的列表框,选中后会将选中的内容(uri字符集)会以字符串的的形式储存在SharedPreferences中。
android:ringtoneType 系统一共提供了4中响铃模式的类型分别为 铃声(ringtone) 通知( notification) 警告(alarm) 全部(all)
模拟器默认是没有铃声的,下图中的铃声我是将歌曲文件拷贝到SD卡中,设置铃声后才会出现的。如果觉得拷贝麻烦可以使用豌豆荚或者91助手将歌曲文件放入手机SD卡中,在铃声设置那里设置一下在这里就会出现。
ringtone.xml
RingtoneActivity
自定义控件
使用系统的控件在显示方面难免会有些单一,如果想做一个好看的界面就需要使用自定义Preference。下面我简单说明一下如何编写自定义Preference。首先在res/layout中添加preferences文件
res/layout/preferencestyle.xml
res/drawable/preference_mid_background.xml
android:background="@drawable/preference_mid_background"
通过这一行可以设置这个按钮的点击、选中默认的显示状态,这样可以让你的按钮更加好看。须要在res/drawable中添加xml文件
android:state_facused :为控件选中显示
android:state_pressed:为控件按下显示
最后一个为默认显示
AllActivity
读取数据
在PreferenceActivity中可以用下面这种方式拿到SharedPreferences中储存的数值,通过PreferenceManager.getDefaultSharedPreferences(this) 方法拿到控件默认储存的sharedPreferences对象。
在模拟起中将SharedPreferences储存内容拷贝出来后,可以清楚的看到通过点击系统控件储存的数值。这里我说一下铃声的储存,它是以一个字符串形式的uri字符集,它所指向的是系统铃声储存的路径。所以根据这个字符集就可以找到这个铃声。
PreferenceActivity 继承ListActivity 它是以一个列表的形式在展现内容,它最主要的特点是添加Preference可以让控件的状态持久化储存,举个例子 比如用户选中checkbox后 退出应用然后在进入应用,这时用户希望看到的是checkbox被选中,所以软件须要记录用户每次操作的过程并且持久储存,在进入应用的时候须要判断这些久储存的数据然后将系统控件的状态呈现在UI中。
尤其是软件开发肯定会有一堆设置选项选项,每次进入Activity都去手动的去取储存的数据,这样代码会变得很复杂很麻烦。 这个时候Preference就出来了,它就是专门解决这些特殊的选项保存与读取的显示。用户每次操作事件它会及时的以键值对的形式记录在SharedPreferences中,Activity每次启动它会自动帮我们完成数据的读取以及UI的显示。
android开发中一共为我们提供了4个组件,分别是CheckBoxPreference组件、EditTextPreference组件、ListPreference组件、RingtonePreference组件,下面我用一个例子一一向同学们介绍一下。
工程结构图:
[img]
[/img]
运行效果图:
[img]
[/img]
main.xml
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/screen" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <ImageView android:src="@drawable/jay" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <TextView android:id="@+id/textView0" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="#000000" android:textSize="18dip" android:background="#00FF00" android:text="雨松MOMO 带你走进Android 软件开发的世界" android:gravity="center_vertical|center_horizontal" /> <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="#FFFFFF" android:textSize="18dip" android:background="#0000FF" android:text="Android软件开发之PreferenceActivity中组件的使用(二十八)" android:gravity="center_vertical|center_horizontal" /> <Button android:id="@+id/button0" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="CheckBoxPreference组件"/> <Button android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="EditTextPreference组件"/> <Button android:id="@+id/button2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="ListPreference组件"/> <Button android:id="@+id/button3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="RingtonePreference组件"/> <Button android:id="@+id/button4" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="自定义组件"/> </LinearLayout> </ScrollView>
ControlActivity
package cn.m15.xys; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; /** * * @author 无敌小胖胖 * * */ public class ControlActivity extends Activity { Context mContext = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mContext = this; /**CheckBoxPreference**/ Button botton0 = (Button)findViewById(R.id.button0); botton0.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(mContext,CheckBoxActivity.class); startActivity(intent); } }); /**EditTextPreference**/ Button botton1 = (Button)findViewById(R.id.button1); botton1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(mContext,EditTextActivity.class); startActivity(intent); } }); /**ListPreference**/ Button botton2 = (Button)findViewById(R.id.button2); botton2.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(mContext,ListActivity.class); startActivity(intent); } }); /**RingtonePreference**/ Button botton3 = (Button)findViewById(R.id.button3); botton3.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(mContext,RingtoneActivity.class); startActivity(intent); } }); /**all**/ Button botton4 = (Button)findViewById(R.id.button4); botton4.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(mContext,AllActivity.class); startActivity(intent); } }); } }
CheckBoxPreference组件
CheckBoxPreference 选中为true 取消选中为false 它的值会以boolean的形式储存在SharedPreferences中。
checkbox.xml
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="CheckBoxPreference"> <CheckBoxPreference android:key="checkbox_0" android:title="CheckBox_A" android:summary="这是一个勾选框A" > </CheckBoxPreference> <CheckBoxPreference android:key="checkbox_1" android:title="CheckBox_B" android:summary="这是一个勾选框B" > </CheckBoxPreference> </PreferenceCategory> </PreferenceScreen>
CheckBoxActivity
package cn.m15.xys; import android.content.Context; import android.os.Bundle; import android.preference.CheckBoxPreference; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.Preference.OnPreferenceChangeListener; import android.preference.Preference.OnPreferenceClickListener; import android.widget.Toast; public class CheckBoxActivity extends PreferenceActivity { Context mContext = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 从资源文件中添Preferences ,选择的值将会自动保存到SharePreferences addPreferencesFromResource(R.xml.checkbox); mContext = this; //CheckBoxPreference组件 CheckBoxPreference mCheckbox0 = (CheckBoxPreference) findPreference("checkbox_0"); mCheckbox0.setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { //这里可以监听到这个CheckBox 的点击事件 return true; } }); mCheckbox0.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference arg0, Object newValue) { //这里可以监听到checkBox中值是否改变了 //并且可以拿到新改变的值 Toast.makeText(mContext, "checkBox_0改变的值为" + (Boolean)newValue, Toast.LENGTH_LONG).show(); return true; } }); CheckBoxPreference mCheckbox1 = (CheckBoxPreference) findPreference("checkbox_1"); mCheckbox1.setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { //这里可以监听到这个CheckBox 的点击事件 return true; } }); mCheckbox1.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference arg0, Object newValue) { //这里可以监听到checkBox中值是否改变了 //并且可以拿到新改变的值 Toast.makeText(mContext, "checkBox_1改变的值为" + (Boolean)newValue, Toast.LENGTH_LONG).show(); return true; } }); } }
EditTextPreference组件
EditTextPreference 点击后会弹出一个输入框,输入的内容会以字符串的的形式储存在SharedPreferences中。
edittext.xml
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="EditTextPreference"> <EditTextPreference android:key="edit_0" android:title="输入信息_A" android:summary="请输入您的信息" android:defaultValue="请输入信息" android:dialogTitle="输入框"> </EditTextPreference> <EditTextPreference android:key="edit_1" android:title="输入信息_B" android:summary="请输入您的信息" android:defaultValue="请输入信息" android:dialogTitle="输入框"> </EditTextPreference> </PreferenceCategory> </PreferenceScreen>
EditTextActivity
package cn.m15.xys; import android.content.Context; import android.os.Bundle; import android.preference.EditTextPreference; import android.preference.PreferenceActivity; public class EditTextActivity extends PreferenceActivity { Context mContext = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 从资源文件中添Preferences ,选择的值将会自动保存到SharePreferences addPreferencesFromResource(R.xml.edittext); mContext = this; // EditTextPreference组件 EditTextPreference mEditText = (EditTextPreference) findPreference("edit_0"); //设置dialog按钮信息 mEditText.setPositiveButtonText("确定"); mEditText.setNegativeButtonText("取消"); //设置按钮图标 mEditText.setDialogIcon(R.drawable.jay); } }
ListPreference组件
在res/array中先写两个数组,一个用与list的显示内容,一个用户list的选中数值。
ListPreference点击后会弹出一个列表框,选中后会将选中的内容(上面数组中的值)会以字符串的的形式储存在SharedPreferences中。
list.xml
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="ListPreference"> <ListPreference android:key="list_0" android:title="登录设置A" android:dialogTitle="选择在线时间" android:entries="@array/auto_logout_time_key" android:entryValues="@array/auto_logout_time_value" > </ListPreference> <ListPreference android:key="list_0" android:title="登录设置A" android:dialogTitle="选择在线时间" android:entries="@array/auto_logout_time_key" android:entryValues="@array/auto_logout_time_value" > </ListPreference> </PreferenceCategory> </PreferenceScreen>
res/valus/array.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="auto_logout_time_key"> <item>10 mins.</item> <item>20 mins.</item> <item>30 mins.</item> <item>60 mins.</item> </string-array> <string-array name="auto_logout_time_value"> <item>600000</item> <item>1200000</item> <item>1800000</item> <item>3600000</item> </string-array> </resources>
ListActivity
package cn.m15.xys; import android.os.Bundle; import android.preference.PreferenceActivity; public class ListActivity extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 从资源文件中添Preferences ,选择的值将会自动保存到SharePreferences addPreferencesFromResource(R.xml.list); } }
RingtonePreference组件
RingtonePreference点击后会弹出一个系统铃声的列表框,选中后会将选中的内容(uri字符集)会以字符串的的形式储存在SharedPreferences中。
android:ringtoneType 系统一共提供了4中响铃模式的类型分别为 铃声(ringtone) 通知( notification) 警告(alarm) 全部(all)
模拟器默认是没有铃声的,下图中的铃声我是将歌曲文件拷贝到SD卡中,设置铃声后才会出现的。如果觉得拷贝麻烦可以使用豌豆荚或者91助手将歌曲文件放入手机SD卡中,在铃声设置那里设置一下在这里就会出现。
ringtone.xml
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="RingtonePreference"> <RingtonePreference android:key="ringtone_0" android:summary="选择系统铃声A" android:title="铃声设置" android:ringtoneType="all" android:showSilent="true" ></RingtonePreference> <RingtonePreference android:key="ringtone_!" android:summary="选择系统铃声B" android:title="铃声设置" android:ringtoneType="all" android:showSilent="true" ></RingtonePreference> </PreferenceCategory> </PreferenceScreen>
RingtoneActivity
package cn.m15.xys; import android.os.Bundle; import android.preference.PreferenceActivity; public class RingtoneActivity extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 从资源文件中添Preferences ,选择的值将会自动保存到SharePreferences addPreferencesFromResource(R.xml.ringtone); } }
自定义控件
使用系统的控件在显示方面难免会有些单一,如果想做一个好看的界面就需要使用自定义Preference。下面我简单说明一下如何编写自定义Preference。首先在res/layout中添加preferences文件
res/layout/preferencestyle.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#00000000"> <LinearLayout android:gravity="center_vertical" android:background="@drawable/preference_mid_background" android:layout_width="fill_parent" android:layout_height="wrap_content" > <ImageView android:focusable="false" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/setting_about_us"> </ImageView> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15dip" android:layout_marginTop="6dip" android:layout_marginRight="6dip" android:layout_marginBottom="6dip" android:layout_weight="1" > <TextView android:textSize="15dip" android:textColor="#000000" android:ellipsize="marquee" android:id="@+android:id/title" android:fadingEdge="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" > </TextView> <TextView android:textAppearance="?android:attr/textAppearanceSmall" android:textColor="#565656" android:id="@+android:id/summary" android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxLines="4" android:layout_below="@+android:id/title" android:layout_alignLeft="@+android:id/title" > </TextView> </RelativeLayout> <ImageView android:focusable="false" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/preference_arrows"/> </LinearLayout> </LinearLayout>
res/drawable/preference_mid_background.xml
android:background="@drawable/preference_mid_background"
通过这一行可以设置这个按钮的点击、选中默认的显示状态,这样可以让你的按钮更加好看。须要在res/drawable中添加xml文件
android:state_facused :为控件选中显示
android:state_pressed:为控件按下显示
最后一个为默认显示
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:drawable="@drawable/preference_mid_pressed" > </item> <item android:state_pressed="true" android:drawable="@drawable/preference_mid_pressed" > </item> <item android:drawable="@drawable/preference_mid" > </item> </selector>
AllActivity
package cn.m15.xys; import android.content.Context; import android.os.Bundle; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.Preference.OnPreferenceClickListener; import android.widget.Toast; public class AllActivity extends PreferenceActivity { /**自定义布局A**/ Preference preference0 = null; /**自定义布局B**/ Preference preference1 = null; Context mContext = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 从资源文件中添Preferences ,选择的值将会自动保存到SharePreferences addPreferencesFromResource(R.xml.all); mContext = this; preference0 = findPreference("pref_key_0"); preference0.setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { Toast.makeText(mContext, "自定义布局A被按下", Toast.LENGTH_LONG).show(); return false; } }); preference1 = findPreference("pref_key_1"); preference1.setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { Toast.makeText(mContext, "自定义布局B被按下", Toast.LENGTH_LONG).show(); return false; } }); } }
读取数据
在PreferenceActivity中可以用下面这种方式拿到SharedPreferences中储存的数值,通过PreferenceManager.getDefaultSharedPreferences(this) 方法拿到控件默认储存的sharedPreferences对象。
SharedPreferences prefs =PreferenceManager.getDefaultSharedPreferences(this) ; boolean something = prefs.getBoolean("something",false);
在模拟起中将SharedPreferences储存内容拷贝出来后,可以清楚的看到通过点击系统控件储存的数值。这里我说一下铃声的储存,它是以一个字符串形式的uri字符集,它所指向的是系统铃声储存的路径。所以根据这个字符集就可以找到这个铃声。
<?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <string name="ringtone_!">content://media/external/audio/media/1</string> <string name="ringtone_0">content://media/external/audio/media/1</string> <string name="list_0">1800000</string> <string name="edit_1">请输入信息1212</string> <string name="list">1200000</string> <string name="ringtone">content://settings/system/ringtone</string> <boolean name="checkbox_0" value="true" /> <boolean name="checkbox_1" value="true" /> <string name="edit_0">请输入信息</string> </map>
发表评论
-
Android中如何模拟一次点击(touch)事件
2014-05-06 10:41 0在Android中有时需要模拟某一个View的touch事件, ... -
Android程序Crash时的异常上报
2014-04-28 18:15 0http://blog.csdn.net/singwhatiw ... -
android程序中证书签名校验的方法
2014-04-28 17:58 2006android程序中证书签名校验的方法一 2013-02 ... -
MD5理解错了,哎
2014-03-17 14:14 0MD5只对数据加密是无法解密的,也就是说,你把100加密后,就 ... -
Android 获取网络时间
2014-03-12 11:42 2044Android 获取网络时间 在网上看到的最常见的方式有: ... -
SQLite清空表并将自增列归零
2014-03-05 18:02 1552SQLite清空表并将自增列归零 作者:Zhu Yanfeng ... -
Handler小看一下
2013-11-11 16:42 0android handler调用post方法还是阻塞 su ... -
Frame Animation小看一下
2013-10-12 16:30 783Demo运行效果图: 源码: -
动画小学一下
2013-10-12 16:14 737转自: http://www.eoeandroid.com/f ... -
Android 动画之ScaleAnimation应用详解
2013-10-12 15:49 1010===============eoeAndroid社区推荐:= ... -
android开发中的一个工具类
2013-06-19 16:04 0package com.wanpu.login.dialog; ... -
android TextView怎么设置个别字体颜色并换行?
2013-06-20 09:25 1684(1)、TextView 设置个别字体颜色 TextView ... -
Android开发之文件下载,状态时显示下载进度,点击自动安装
2013-05-07 15:38 1430在进行软件升级时,需要进行文件下载,在这里实现自定义的文件下载 ... -
android中的状态保存
2013-04-07 14:21 979package com.zzl.call; import ... -
android动画基础:tween动画
2013-04-06 11:21 1249工程结构图: [img] [/img] 四个动画的xml ... -
面试中遇到的几个问题
2013-06-09 11:56 1001SAX与DOM之间的区别 SAX ( ... -
Android获取其他包的Context实例,然后调用它的方法,反射!!!
2013-03-25 10:32 1222Android中有Context的概念,想必大家都知道。Con ... -
Android的内存机制和常见泄漏情形
2013-03-06 16:55 795一、 Android的内存机制 Android的程序由Ja ... -
JUnit测试小小demo
2013-03-06 16:37 1162运行效果图: [img] [/img] 项目结构图 ... -
android开发中的异常小工具
2013-03-04 15:53 899package com.zzl.tools; impor ...
相关推荐
本教程将深入探讨如何在Android应用中使用PreferenceActivity及其组件。 首先,让我们了解PreferenceActivity的基本概念。PreferenceActivity是Android SDK提供的一种特殊Activity类型,它专门用于展示和处理用户...
android PreferenceActivity中的组件源码~
总之,PreferenceActivity是Android开发中的一个重要组件,它简化了设置界面的创建过程。虽然在最新版本的Android中,有其他替代方案,但理解并掌握PreferenceActivity仍然是了解Android设置界面实现原理的关键。...
标题与描述均提及了《Android中PreferenceActivity详解》,这一主题涉及了Android开发中关于用户偏好设置的核心组件——PreferenceActivity的深入解析。以下是基于标题、描述、标签以及部分内容的关键知识点总结,...
1. **PreferenceActivity**:这是Android SDK中的一个特殊Activity,主要用于构建设置界面。它默认会以列表形式显示一系列的Preference对象,这些对象可以是SwitchPreference(开关按钮)、CheckBoxPreference(复选...
在Android开发中,`PreferenceActivity`是用于创建设置界面的标准组件。它允许开发者通过XML文件定义各种偏好选项,如开关、单选按钮、多选按钮等,并将它们以活动的形式展示给用户。然而,标准的`...
在Android开发中,`PreferenceActivity`是用于创建设置界面的一个重要组件。它是Android SDK提供的一种特殊类型的Activity,专门用于展示用户可配置的设置项。在深入理解`PreferenceActivity`之前,我们先要明白`...
在Android开发中,PreferenceActivity是用于创建设置界面的标准组件,它允许开发者以XML方式定义用户界面,然后在活动中展示这些设置项。然而,系统默认的PreferenceActivity样式可能无法满足所有设计需求,这时我们...
总之,PreferenceActivity和SharedPreferences是Android开发中的两个关键组件,它们帮助开发者轻松地管理和展示用户的配置和偏好设置,提高用户体验。通过合理利用这两个工具,我们可以创建出功能强大且易于维护的...
由于其高度定制性和灵活性,PreferenceActivity在Android开发中被广泛应用。 #### 二、数据存储方式 PreferenceActivity中的数据存储主要依赖于 **SharedPreferences** ,这是一种轻量级的数据存储机制,适用于...
总的来说,PreferenceActivity是Android开发中一个非常实用的组件,它简化了设置界面的创建,使得开发者可以专注于逻辑处理,而不是界面布局。通过合理利用各种Preference元素,可以构建出符合用户习惯、易于操作的...
在Android开发中,PreferenceActivity是用于创建设置界面的一个重要组件。它允许开发者通过XML定义UI元素,如开关、单选按钮、复选框等,并在活动中动态加载这些元素,简化了构建用户设置界面的过程。本篇文章将深入...
在需求中,如果你需要创建一个Activity来处理手机属性设置,PreferenceActivity就是一个很好的解决方案。 1. **PreferenceActivity的结构**: PreferenceActivity基于XML布局文件,通常位于`res/xml`目录下,例如`...
PreferenceActivity和PreferenceFragment是Android中用于构建设置界面的重要组件。PreferenceActivity适用于兼容早期版本的Android,而PreferenceFragment更适合Android 3.0及更高版本,提供更好的布局管理和碎片化...
**Android中的SharedPreferences与PreferenceActivity详解** 在Android应用开发中,数据存储是不可或缺的一部分,而`SharedPreferences`和`PreferenceActivity`是两种常用的轻量级数据存储方式。它们主要用于存储...
- 自动处理布局:PreferenceActivity会自动将XML布局文件中的偏好设置项转换为可交互的UI组件。 - 简化代码:与普通Activity相比,PreferenceActivity简化了创建设置界面的过程,减少了大量手动创建和绑定控件的...