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

preferencemanager_android的context_preferencemanager类(5)

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

翻墙点我查看。PreferenceManager继承自Object,这个类其实我们前一篇《Android应用Preference相关及源码浅析(SharePreferences篇)》获取Preference实例就该说明的,这里才说而已。

Android中得到SharedPreference的方式有四种:

ContextWrapper.getSharedPreferences(String name, int mode)

可以自己设置SharedPreference的名字与模式。

Activity.getPreferences(int mode)

name是Activity名字,不能设置。

PreferenceManager.getSharedPreferences()

通过PreferenceManager维护一个SharedPreference,我们可以调用PreferenceManager的API来设置name和mode,并且最终也是调用到ContextWrapper的getSharedPreferences。

PreferenceManager.getDefaultSharedPreferences(Context context)

得到的SharedPreference是某个包名下共享私有的,不能让其他的包访问,而且name和mode不能设置,最终也会调用到ContextWrapper的getSharedPreferences。

接下来简单看下PreferenceManager相关方法,如下:

method description

public static void setDefaultValues(Context context, String sharedPreferencesName, int sharedPreferencesMode, int resId, boolean readAgain)

protected void onCreate(Bundle savedInstanceState) {
    ......
    PreferenceManager.setDefaultValues(this, R.xml.default_value, false);
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
    String option = prefs.getString("key", null); 
}

好了,控件使用就到这里了。

关于Preference控件家族的使用比较简单,自定义网上也一大把,所以不再给出例子。如果你想看例子可以参考如下:

官方Settings设计原理。

Settings源码。

其他的相关用法参考API及网络例子。

扯蛋了这么多,唉,叹个气继续吧,接下来就到了有意思的环节,源码结构简介。这里只是针对Preference控件特性介绍分析,不会过多追究View及Activity和Fragment细节,具体View及Activity和Fragment细节后面会写文章分析的。

首先还记得上面基础说了,PreferenceFragment使用第一步就是使用其内部方法addPreferencesFromResource或者addPreferencesFromIntent设置源。所以这里我们以addPreferencesFromResource为例来说明,如下源码:

//PreferenceFragment的方法
public void addPreferencesFromResource(int preferencesResId) {
    //判断异常说明了该方法至少得在super.onCreate方法之后调运,以便初始化PreferenceManager
    requirePreferenceManager();
    //这个前面也介绍过的,设置根布局PreferenceScreen
    setPreferenceScreen(mPreferenceManager.inflateFromResource(getActivity(),
            preferencesResId, getPreferenceScreen()));
}


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

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

    每日福利
    热点图片
    拼命载入中...