PreferenceActivity是Activity的子类,可以方便的实现设置界面。
PreferenceActivity会通过一个xml配置文件来描述设置界面,并且系统会自动保存当前设置的最后状态。
使用步骤:
1、编写一个类继承自PreferenceActivity的子类。
//默认会把key-value 存储在 包.xml中。再次访问Activity时,也是默认从 包.xml中读取 addPreferencesFromResource(R.xml.pref);
2、在res/xml目录中建立一个用于描述设置界面的xml文件
a,新建一个xml目录
b,新建一个pref.xml
c、创建如下结果的文件
显示结果如下:
重新进入后保存了之前设置的值,因为PreferenceActivity中,会默认读取 包.xml 来设置默认值。
问题一:可否修改PreferenceActivity保存数据的文件名。
答:PreferenceActivity内部使用了SharedPreferences对象保存数据,默认存储路径和文件名都和后者相同,路径是:shared_prefs/包.xml .
getPreferenceManager().setSharedPreferencesName("setting");
上述方法修改默认的文件名为 setting.xml 但是需要注意的是,文件名修改后,重新访问这个Activity的时候不会自动读取setting.xml中的文件。因为默认读取的是 包.xml 这个文件,故建议不修改。
问题二: 上面案例中的EditTextPreference 中,填写用户名后点击确定,页面摘要地方不显示输入内容。
public class MainActivity3 extends PreferenceActivity { SharedPreferences pref; EditTextPreference etp, etp_phone; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.pref); // getPreferenceManager().setSharedPreferencesName("setting"); try { etp = (EditTextPreference) findPreference("individual_name"); etp.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { preference.setSummary(newValue.toString()); return true; // 是否写入xml } }); etp_phone = (EditTextPreference) findPreference("mobile"); etp_phone .setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange( Preference preference, Object newValue) { preference.setSummary(newValue.toString()); return true; } }); ListPreference list = (ListPreference) findPreference("list_sort"); // OnSharedPreferenceChanged监听事件必须进行注册 list.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { String[] ss = getResources().getStringArray( R.array.pref_entries); preference.setSummary("Current value is " + ss[Integer.parseInt(newValue.toString()) - 1]); return true;// 是否写入xml } }); } catch (Exception e) { e.printStackTrace(); } } }
说明:本文参照李宁老师的《Android高薪之路》
相关推荐
Android项目开发中使用的数据存储方式有:网络存储、sqlite存储、File存储和SharedPreferences存储,四种存储方式对应的Demo别人是NetworkDemo、SqliteDemo、FileDemo和SharedPreferencesDemo,根据应用的场景选择...
在众多的数据存储方式中,SharedPreferences是一种轻量级的选择,尤其适用于存储小量的键值对数据,如用户设置、登录状态等。本篇文章将深入探讨如何使用SharedPreferences实现“记住密码”功能。 一、...
SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储简单的小型数据,如偏好设置、用户选项等。在本项目中,开发者已经根据官方文档编写了关于SharedPreferences的代码示例,你可以通过下载来...
在本项目"android 数据存储之SharedPreferences"中,我们将深入探讨如何使用SharedPreferences来实现数据的持久化。 SharedPreferences的工作原理是基于XML文件,这些文件存放在设备的内部存储区,通常位于`data/...
这篇博文将主要探讨SharedPreferences这一轻量级的数据存储方式,它适合存储简单的键值对数据,如设置偏好。通过SharedPreferences,开发者可以方便地进行数据读写,且这些数据会持久化存储在设备上,即使应用关闭或...
本教程将详细介绍Android中的三种主要数据存储方式:SharedPreferences存储、内部文件存储以及数据库存储。 1. SharedPreferences存储 SharedPreferences是Android提供的一种轻量级的数据存储方式,用于保存应用...
这个压缩包"安卓Android源码——精仿QQ设置界面.zip"提供了一个学习和研究的机会,它包含了一个仿照QQ应用设置界面的示例项目——QQUIDemo。通过分析这个项目,我们可以学到很多关于Android界面设计、布局管理、事件...
利用数据存储的SharedPreferences开发技术,实现了一个简易的登录界面,可以记住登录密码等。
SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储少量简单的键值对数据,如配置设置、用户偏好等。在本篇博文中,我们将深入探讨如何使用SharedPreferences进行数据存储,并通过源码分析其...
Android开发者们长期以来一直依赖SharedPreferences作为轻量级的数据存储解决方案,它的简单易用性使其在小规模数据存储方面受到了广泛欢迎。然而,随着应用程序复杂性的增加,SharedPreferences的局限性逐渐暴露...
在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储一些简单的配置信息,如用户设置、登录状态等。在这个“android studio 利用SharedPreferences实现自动登录”的主题...
本文将详细探讨如何使用SharedPreferences和SQLite数据库这两种常见的Android数据存储机制。 首先,我们来看SharedPreferences。SharedPreferences提供了一种轻量级的数据存储方式,适用于保存简单的键值对数据,如...
在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储机制,用于存储应用程序的简单配置数据,如用户设置、应用的状态信息等。这个压缩包“Android应用源码之SharedPreferences.zip”很可能...
实现这一功能的关键在于持久化用户的登录状态,而SharedPreferences正是Android提供的一种轻量级的数据存储机制,适用于保存简单的键值对数据。本文将详细介绍如何在Android中使用SharedPreferences实现自动登录。 ...
Android 系统中主要提供了三种方式用于实现数据持久化功能,分别是: 1、文件存储 2、SharedPreference 存储 3、数据库存储。SharedPreferences 是使用键值对的方式来存储数据的,使用 SharedPreferences来进行数据...
在Android应用开发中,PreferenceActivity是用于创建设置界面的一个特殊Activity。它允许开发者以XML方式定义用户界面元素,如开关、选择列表等,使得创建设置界面变得更加简洁和规范。本教程将深入探讨如何在...
在本项目中,"AndroidStudio————实战演练——仿美团外卖菜单"是一个专注于使用Android Studio开发的应用程序实战案例,目标是创建一个类似于美团外卖的菜单功能。这个项目涵盖了多个Android开发的关键知识点,...
结合使用,可以实现数据的实时更新和生命周期管理。 9. **云同步** 对于需要在多设备间同步的数据,可以利用Google的Firebase或自建服务器实现云同步。这涉及到网络请求、数据解析以及冲突解决等复杂问题。 10. *...
在Android开发中,SharedPreferences是系统提供的一种轻量级的数据存储方式,主要用于保存应用程序中的简单配置数据,如布尔值、整型、浮点型、字符串等。由于它的操作简便且易于理解,因此在需要持久化小量数据时...