我的Android笔记(十一)——使用Preference保存设置

原创 2012年03月22日 12:26:47


Android中有四种持久化数据的方法:SQLite数据库、文件存储、Preference、ContentProvider。

四种方法各有专攻,而其中Preference是以类似Map的键值对形式存储的,最适合用来保存用户个人设置之类的信息。


可以用一个xml文件来配置一个设置界面,然后用专门的PreferenceActivity将其显示。PreferenceActivity是专业的设置界面,只要给它指定一个配置好的xml,它就能自动根据操作更改程序Preference的相应值。

比如在res目录下建立一个xml文件夹,然后新建一个seeting.xml文件,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

    <CheckBoxPreference
        android:defaultValue="false"
        android:key="boolean_value"
        android:summary="保存一个boolean值"
        android:title="Checkbox" />

    <EditTextPreference
        android:defaultValue="defaultString"
        android:key="string_value"
        android:name="EditText"
        android:summary="保存一个字符串"
        android:title="Edit Text" />

</PreferenceScreen>
checkBoxPreference对应一个boolean值,EditTextPreference对应一个String。 android:key是标识符,必须是唯一的。

然后建立一个SettingActivity.java,内容如下:

import android.com.ui.R;
import android.os.Bundle;
import android.preference.PreferenceActivity;

public class SettingActivity extends PreferenceActivity{
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.setting);
    }
}
代码addPreferencesFromResource(R.xml.setting);即给这个PreferenceActivity指定了一个xml,这样,当打开此界面时的效果图:


每次更改界面的设置之后,程序会自动持久化保存新的值。

而在程序的其他地方获取到设置的值也很简单,只需通过标识符,如获取上文中标识符为“boolean_value”和“string_value”的值, 只需

		boolean booleanValue = PreferenceManager.getDefaultSharedPreferences(
				this).getBoolean("boolean_value", false);
		String stringValue = PreferenceManager.getDefaultSharedPreferences(this)
				.getString("string_value", "");

即可获得。

PreferenceManager.getDefaultSharedPreferences(Context)是一个静态方法,获取到一个全局的Preference对象,在程序中的任何地方都是唯一的,getBoolean和getString方法的第二个参数是默认值,是在获取key失败时的默认返回值。


----------------------------------------------------------

我写的一个demo,下载地址:http://download.csdn.net/detail/barryhappy/4161548



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

(Android网络2)Volley

前言 Volley这一个网络请求框架,是我第一个学习的的网络框架,距离现在已经有一段时间没有用到的,这一个框架,学习起来还是蛮快的,因为它使用起来简单,可以实现大部分的网络请求,非常适合入门新手学习!...

转: -- 杀手的契约——我的故事(曾经的特种兵)

--  杀手的契约——我的故事(曾经的特种兵)这篇文章,是一个真实的被迫退伍的阻击手写的回忆录,,记录了他冷血的军旅生涯,平凡感人的感情经历和令人扼腕痛惜的际遇,以及作者对中国现在部分军人现状的......

Android高手进阶教程(一)-------Android常用名令集锦(图文并茂)!

大家好,今天我们要讲的是android开发中,比较常用的名令集锦, 在我们开发中难免用到Android命令,有些确实命令确实很有用处。特别对于一些初学者来说,命令根本没有想过用也不会用,比如他们想安装...

Android高手进阶教程(七)之----Android 中Preferences的使用!

大家好,我们这一节讲的是Android Preferences 的学习,Preferences 在Android当中被用来记录应用,以及用户喜好等等,它可以用来保存简单的数据类型,如Int,Doubl...

Android学习笔记(四十):Preference的使用

Preference直译为偏好,博友建议翻译为首选项。一些配置数据,一些我们上次点击选择的内容,我们希望在下次应用调起的时候依然有效,无须用户再一次进行配置或选择。Android提供preferenc...

Android进阶——Preference详解之Preference系的基本应用和管理(二)

这篇文章就给大家总结下Preference、PreferenceActivity、PreferenceGroup、RingtonePreference的普通应用和管理包含创建、移除和一些简单的原理验证

Android Fragement学习笔记(三)----PreferenceFragment的使用

相信大家对Perference都比较熟悉了,也就是我们常说的偏好设置,首选项设置,可以保存一些数据,例如我们在上一次使用的时候的一些内容,希望在下一次启动后依然生效,而不需要再进行配置那么麻烦。一般这...

Preference 的xml使用 小结

Preference译为 偏好 或者 首选项。作用 配置数据,一些我们上次点击选择的内容,我们希望在下次应用调起的时候依然有效,无须用户再一次进行配置或选择。Android提供preference这个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)