1. Activity中getPreferences(int mode) (activity类全名去掉包名).xml
public SharedPreferences getPreferences(int mode) { return getSharedPreferences(getLocalClassName(), mode); }
public String getLocalClassName() { final String pkg = getPackageName(); final String cls = mComponent.getClassName(); int packageLen = pkg.length(); if (!cls.startsWith(pkg) || cls.length() <= packageLen || cls.charAt(packageLen) != '.') { return cls; } return cls.substring(packageLen+1); }
2. context中getSharedPreferences(String name, int mode) name.xml
@Override public SharedPreferences getSharedPreferences(String name, int mode) { return mBase.getSharedPreferences(name, mode); }
3. PreferenceManager中getDefaultSharedPreferencesName(Context context) 包名_preferences.xml
public static SharedPreferences getDefaultSharedPreferences(Context context) { return context.getSharedPreferences(getDefaultSharedPreferencesName(context), getDefaultSharedPreferencesMode()); } private static String getDefaultSharedPreferencesName(Context context) { return context.getPackageName() + "_preferences"; }