PreferenceActivity类的使用:
Android为了方便管理SharedPreferences,为我们提供了一个很简洁高效的PreferenceActivity。通过继承PreferenceActivity这个类,我们可以很轻松的实现一个程序参数设置的UI界面。
实例演示:
1、添加Preference的布局,在/res/xml/目录下添加一个settings.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:title="Settings">
<PreferenceCategory android:title="System">
<CheckBoxPreference
android:title="Android and Java"
android:key="system"
android:summary="java can be used in android">
</CheckBoxPreference>
</PreferenceCategory>
<PreferenceCategory android:title="Animation">
<ListPreference
android:title="Animation Setting"
android:key="animation"
android:summary="animation one"
android:dialogTitle="Animation Chose"
android:entries="@array/animation_entries"
android:entryValues="@array/animation_values">
</ListPreference>
</PreferenceCategory>
</PreferenceScreen>
2、生成一个SettingsActivity继承自PreferenceActivity:
public class SettingsActivity extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
}
}
3、添加R.xml.settings布局文件:
addPreferencesFromResource(R.xml.settings);
4、当程序运行后,会生成
/data/data/[PACKAGE_NAME]/shared_prefs/[PACKAGE_NAME]_preferences.xml参数配置文件:
如:com.wisky.bluefuture.settings_preferences.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="animation">1</string>
<boolean name="system" value="true" />
</map>
5获得SharedPreferences引用:
SharedPreferences sp = getPreferenceManager().getDefaultSharedPreferences(this);
文章评论(0条评论)
登录后参与讨论