getPreferences,getSharedPreferences,getDefaultSharedPreferences的区别



getPreferences(mode)

SharedPreferences android.app.Activity.getPreferences(int mode);通过Activity对象获取,获取的是Activity私有的Preference,保存在系统中的xml文件以Activity的类名命名,所以一个Activity只有一个与之相关的Preference文件。

getSharedPreferences(name, mode)

SharedPreferences android.content.ContextWrapper.getSharedPreferences(String name, int mode),通过content的静态内部类ContextWrapper获得,属于整个应用程序,以第一个参数name命名xml文件保存在系统中,因此可以有多个。

getDefaultSharedPreferences(context)

SharedPreferences android.preference.PreferenceManager.getDefaultSharedPreferences(Context context),通过PreferenceManager获得,保存PreferenceActivity的设置,属于整个应用程序,但是只有一个,Android根据包命和PreferenceActivity的布局文件来命名xml文件

你可能感兴趣的:(Android学习笔记)