我目前正在学习“开发 Android 应用程序”Udacity 课程。在“第 3 课:新活动和意图 > 使用 SharedPreferences”部分中,讲师让我在 Android 开发者网站上挖掘如何从SharedPreferences. 但是,我发现官方文档和课程解决方案之间存在差异。
Udacity 课程的解决方案说,要获取 的SharedPreferences实例PreferenceActivity,您应该调用:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
(这里getActivity()只是Context这里,因为它在 a 中被调用Fragment。)
虽然Android Developer Site 上的官方文档表明您应该调用:
SharedPreferences prefs = getActivity().getPreferences(Context.MODE_PRIVATE)
PreferenceManager.getDefaultSharedPreferences(Context context)那么和 和有什么区别Activity.getPreferences(int mode)呢?
请注意:此问题不涉及任何getSharedPreferences()需要文件名的内容。getPreferences()这是关于和之间的区别getDefaultSharedPreferences()。
提前致谢。