• PreferenceActivity


     Android系统有四种基本的数据保存方法:一是SharedPreference;二是文件;三是SQLite;四是ContentProvider。
           PreferenceActivity是android提供的对系统信息和配置进行自动保存的Activity,它通过SharedPreference方式将信息保存在XML文件当中,当然,我们也可以通过SharedPreferences来获取PreferenceActivity设置的值。使用PreferenceActivity不需要我们对SharedPreference进行操作,系统会自动对Activity的各种View上的改变进行保存。

           创建一个PreferenceActivity应用的步骤:
           1.创建Android项目,并添加一个Android xml文件preference.xml,类型为Preference,会保存在res/xml路径下。Android为我们提供两种编辑模式,可视化的结构设计及xml源码设计。
    preference xml文件中的View是有限的,只有下面几个:
    1)CheckBoxPreference:CheckBox选择项,对应的值的ture或flase。
    android:key:唯一标识.
    android:title:显示标题(大字体显示)
    android:summary:副标题(小字体显示)
    android:defaultValue:默认值(true或false)
    2)EditTextPreference:输入编辑框,值为String类型,会弹出对话框供输入。
    android:key:唯一标识.
    android:title:显示标题(大字体显示)
    3)ListPreference: 列表选择,弹出对话框供选择。下拉框内显示的内容和具体的值需要在res/values/array.xml中设置两个array来表示。
    android:key:唯一标识.
    android:title:显示标题(大字体显示)
    android:dialogTitle:弹出对话框的标题
    android:entries:列表中显示的值。为一个数组,通过资源文件进行设置。
    androide:entryValues:列表中实际保存的值,与entries对应。为一个数组,通过资源文件进行设置。
    4)Preference:只进行文本显示,需要与其他进行组合使用。
    android:key:唯一标识.
    android:title:显示标题(大字体显示)
    android:summary:副标题(小字体显示)
    android:dependency:附属,即标识此元素附属于某一个元素(通常为CheckBoxPreference),dependency值为所附属元素的key。
    5)PreferenceCategory:用于分组。
    android:title:显示的标题
    android:key:唯一标识符。SharedPreferences也将通过此Key值进行数据保存,也可以通过key值获取保存的信息 (以下相同)。
    6)PreferenceScreen:PreferenceActivity的根元素,设置页面,可嵌套形成二级设置页面,用Title参数设置标题。
    7)RingtonePreference:系统玲声选择。
    android:title:设置标题
    android:summary:设置说明
    android:dialogTitle:设置铃声选择框的标题

           2.创建一个继承自PreferenceActivity类。
    public class PreferenceTest extends PreferenceActivity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //所的的值将会自动保存到SharePreferences
            this.addPreferencesFromResource(R.xml.preference);
        }
    }

           3.当PreferenceActivity上View有所更改时,系统会自动将对应的值更新到xml配置文件中,该文件在android的file explorer中的data/data/包名/shared_prefs/路径下。

           4.为了响应PreferenceActivity的操作,只要重写PreferenceActivity的onPreferenceTreeClick的方法就可以了,通过参数preference来判断是对那一个元素进行的,并根据需要进行操作。
    @Override
    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
     return false;
    }

           5.获取配置信息
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); value = prefs.getXxx("xxx", "xxx");
    当其他地方需要使用配置时,可以直接调用preference.getXXX()方法来获取配置信息(preference为xml文件名)。

  • 相关阅读:
    HTML5 GAME TUTORIAL(三): Draw shapes, paths and text(译)
    HTML5 GAME TUTORIAL(二): Set-up an HTML5 canvas(译)
    HTML5 GAME TUTORIAL(一): Develop an HTML5 game(译)
    实现一个扇形的几种方法
    What Is Webpack and How Does It Work(译)
    What Does Webpack Do, and How Do I Use It for My Website?(译)
    Getting Started with NestJS(译)
    vue 渲染出来的列表点击的时候需要单独给li添加一个class
    移动端使用isscroll.js input无法获取焦点(就是点了没反应啦!)
    移动端适配之rem 笔记
  • 原文地址:https://www.cnblogs.com/hummersofdie/p/2418058.html
Copyright © 2020-2023  润新知