网站建设公司的服务特点,建站报价表,长沙网站建设王道下拉棒,苏州专业网站设计制作公司Android中有四种持久化数据的方法#xff1a;SQLite数据库、文件存储、Preference、ContentProvider。
四种方法各有专攻#xff0c;而其中Preference是以类似Map的键值对形式存储的#xff0c;最适合用来保存用户个人设置之类的信息。 可以用一个xml文件来配置一个设置界面…
Android中有四种持久化数据的方法SQLite数据库、文件存储、Preference、ContentProvider。
四种方法各有专攻而其中Preference是以类似Map的键值对形式存储的最适合用来保存用户个人设置之类的信息。 可以用一个xml文件来配置一个设置界面然后用专门的PreferenceActivity将其显示。PreferenceActivity是专业的设置界面只要给它指定一个配置好的xml它就能自动根据操作更改程序Preference的相应值。
比如在res目录下建立一个xml文件夹然后新建一个seeting.xml文件内容如下 [html] view plaincopyprint? ?xml version1.0 encodingutf-8? PreferenceScreen xmlns:androidhttp://schemas.android.com/apk/res/android CheckBoxPreference android:defaultValuefalse android:keyboolean_value android:summary保存一个boolean值 android:titleCheckbox / EditTextPreference android:defaultValuedefaultString android:keystring_value android:nameEditText android:summary保存一个字符串 android:titleEdit Text / /PreferenceScreen checkBoxPreference对应一个boolean值EditTextPreference对应一个String。
android:key是标识符必须是
唯一的。
然后建立一个SettingActivity.java内容如下 [java] view plaincopyprint? 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”的值 只需 [java] view plaincopyprint? boolean booleanValue PreferenceManager.getDefaultSharedPreferences( this).getBoolean(boolean_value, false); String stringValue PreferenceManager.getDefaultSharedPreferences(this) .getString(string_value, ); 即可获得。
PreferenceManager.getDefaultSharedPreferences(Context)是一个静态方法获取到一个全局的Preference对象在程序中的任何地方都是唯一的getBoolean和getString方法的第二个参数是默认值是在获取key失败时的默认返回值。 ----------------------------------------------------------