现在的位置: 首页 > 综合 > 正文

SharedPreference 的知识点

2018年06月09日 ⁄ 综合 ⁄ 共 992字 ⁄ 字号 评论关闭

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";
    }

抱歉!评论已关闭.