首页 > 系统 > Android > 正文

Android小技巧-SharedPreferences实现设置界面

2019-11-09 15:53:54
字体:
来源:转载
供稿:网友

SharedPReferences的一个用途是实现设置界面,虽然现在的许大家都用它来存储基本的键值对。

1.设置xml

/res/xml/preferences.xml

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="General options"> <CheckBoxPreference android:key = "silent_mode" android:defaultValue="false”用 android:title="Silent Mode" android:summary="Mute all sounds from this app" /> <SwitchPreference android:key="awesome_mode" android:defaultValue="false" android:switchTextOn="Yes" android:switchTextOff="No" android:title="Awesome mode™" android:summary="Enable the Awesome Mode™ feature"/> <EditTextPreference android:key="custom_storage" android:defaultValue="/sdcard/data/" android:title="Custom storage location" android:summary="Enter the directory path where you want data to be saved. If it does not exist, it will be created." android:dialogTitle="Enter directory path (eg. /sdcard/data/ )"/> </PreferenceCategory></PreferenceScreen>

以上定义了设置界面的可选项. 另外的一些可选项可以在Android官方文档查看。

2.实现Activity

粗暴的代码如下

package com.example.preferences;import android.preference.PreferenceActivity;import android.os.Bundle;public class PreferencesActivity extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); }}

是不是很简单

3.使用PreferenceActivity

启动PreferenceActivity

Intent i = new Intent(this, PreferencesActivity.class);startActivity(i);

另外不要忘记了在Manifest文件里面注册

4.获取PreferenceActivity里面的值

粗暴的代码

//set the default values we defined in the XMLPreferenceManager.setDefaultValues(this, R.xml.preferences, false);SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);//get the values of the settings optionsboolean silentMode = preferences.getBoolean("silent_mode", false);boolean awesomeMode = preferences.getBoolean("awesome_mode", false);String string = preferences.getString("custom_storage", "");

是不是很简单~

帮朋友招聘职位如下

普照天星【java开发工程师】20-30k http://www.jianshu.com/p/8b52751360df 产品经理20-30k http://www.jianshu.com/p/cb0ac7a00796

我的微信二维码如下

这里写图片描述

微信订阅号二维码如下:

这里写图片描述


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表