什么是SharedPreferencesCompat?与SharedPreferences

M. *_*han 17 android

我想知道什么是SharedPreferencesCompat?它与SharedPreferences有何不同?

zap*_*apl 21

所有...Compat类都是为了向后兼容.有些为旧设备带来了新功能,而这些设备本身没有这些功能,有些技术可以帮助您开发旧设备.

在这种情况下,它提供了一种简化的方法来调用applyAPI级别9中添加的方法.

如果您的应用不支持早于9的版本,则不需要该类.

如果您支持旧设备并且要执行以下操作

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("key","val");
editor.apply();
Run Code Online (Sandbox Code Playgroud)

您会收到错误,因为您支持的所有设备上都不存在该方法.解决这个问题变得很难看.除非您使用SharedPreferencesCompat:

 ...
 editor.putString("key", "val");
 SharedPreferencesCompat.EditorCompat.getInstance().apply(editor);
Run Code Online (Sandbox Code Playgroud)