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";
}
本文详细探讨了在Android应用开发中如何使用`Activity`、`context`和`PreferenceManager`类来获取和管理共享的偏好设置。通过分析不同类的方法如`getPreferences()`、`getLocalClassName()`、`getDefaultSharedPreferencesName()`和`getSharedPreferences()`,揭示了Android系统中共享偏好设置的高效管理和存储机制。
550

被折叠的 条评论
为什么被折叠?



