Android——getPreferences()、getSharedPreferences()和getDefaultSharedPreferences()区别

SharedPreferences文件存储共享变量的文件路径位于“/data/data/应用程序包/shared_prefs/”目录下
首先从调用层次上来分:
1.getPreferences(int mode)是由Activity来调用的。
2.getSharedPreferences(String name,int mode)由Context调用。
3.getDefaultSharesPreferences(Context context)是PreferenceManager的静态方法

从文件命名来说:
1.getPreferences(int mode)不需要传递文件名,默认使用不带包名的类名作为文件名(即Activity java文件名,不带后缀)。
2.getSharedPreferences(String name,int mode)需要提供文件名,当然是以提供的name作为文件名
3.getDefaultSharedPreferences(Context context)也不需要提供文件名,默认使用包名作为文件名。

注意:
一些博客说getPreferences(int mode)创建的SharedPreferences文件只能在当前的Activity进行访问,其实可以在其他的Activity也可以访问,这时我们需要使用getSharedPreferences(String name,int mode),name为之前的Activity Java类的名称(不带后缀)

你可能感兴趣的:(android)