b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

preferencemanager_android的context_preferencemanager类

电脑杂谈  发布时间:2017-05-28 03:03:06  来源:网络整理

前一篇(点我阅读前一篇《Android应用Preference相关及源码浅析(SharePreferences篇)》)我们讨论分析使用了Android的SharePreferences,相信看过的朋友都有了自己的感悟与理解,这一篇我们继续乘热打铁来说说SharePreferences的衍生品—-Preference组件。

其实Preference组件大家一定不陌生,因为Android系统的Setting应用及我们市面上一些符合Android设计思想的应用的设置界面一般都会用它来实现,而且Google原生Android代码中大量的使用了Preference组件。

简单说,Preference组件其实就是Android常见UI组件与SharePreferences的组合封装实现。

既然要先说说Preference组件家族基础,那不得不先简单说说这些Preference组件间的关系,如下一张图是基于API 22绘制的一副Preference组件继承关系图:

这里写图片描述

怎么样?相比以前低版本的API来说,谷歌官方又增加了一些实用的Preference组件,不过遗憾的是这里面有些是被hide掉的,有些是在com.android.internal.preference包下的,所以这些hide和com.android.internal.preference包的preference我们应用层是不能直接使用的。

到此你指定会说,这些组件和我们平时用的EditText等组件很类似,而我们平时用的EditText等组件显示是依赖于Activity和Fragment的,那么这里的Preference组件是怎么显示的呢?

答案就是Preference组件也有自己依赖显示的框架,最常见的就像PreferenceActivity等,具体看代码我们会发现如下:

public abstract class PreferenceActivity extends ListActivity implements
        PreferenceManager.OnPreferenceTreeClickListener,
        PreferenceFragment.OnPreferenceStartFragmentCallback {
    ......
}

public abstract class PreferenceFragment extends Fragment implements
        PreferenceManager.OnPreferenceTreeClickListener {
    ......
}

嘿嘿,明白了吧?其实Preference组件的使用及展示到Window的原理和普通EditText控件展示使用是类似的,因为Preference组件的显示框架PreferenceActivity及PreferenceFragment都是从基本的Activity及Fragment继承而来,只是针对Preference进行了二次封装而已。

到此对Preference组件已经有一个基本的概念认识了,接下来我们就一步一步往下看。preferencemanager

我们可以发现,Preference组件家族的控件还是比较丰富的,这里肯定不能一一介绍,所以还是代表性的说几个使用频率最高作为指引就行了,其他的用到时参考相关官方API或者源码即可。

所有Preference组件的基类,类似常见控件的TextView,一个单纯的item,用于通过SharePreferences存储操作的设置值,具体翻墙点我。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-49639-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...