La principale différence est dans leurs noms, prénoms, PreferenceManger
des subventions de l'accès aux différentes fonctionnalités du développeur pour la gestion de l' SharedPreferences
, comme la récupération de la carte actuelle des valeurs préférentielles ou réglage des préférences de l'utilisateur. à leurs valeurs par défaut. PreferenceScreen
gère l'affichage d'un écran de préférences de l'utilisateur, de sorte que l'utilisateur peut assigner des valeurs. Parfois, cela signifie que l'affichage d'un élément de liste sur un écran avec d'autres préférences, que s'ouvre un autre écran avec plus de préférences lorsque vous cliquez dessus, comme c'est le cas lors de l' PreferenceScreen
s sont imbriqués.
Votre question implique que vous pensez qu'il ya une différence entre ce PreferenceManager.getSharedPreferences()
et PreferenceScreen.getSharedPreferences()
n', mais, d'après le code source, ils sont identiques.
PreferenceScreen
:
public SharedPreferences getSharedPreferences() {
if (mPreferenceManager == null) {
return null;
}
return mPreferenceManager.getSharedPreferences();
}
Si l' PreferenceManger
et PreferenceScreen
sont des entités différentes, mais l' SharedPreference
de ceux de la méthode de retour doit être le même objet, depuis PreferenceScreen
des appels de la méthode à partir d' PreferenceManager
. J'espère que c'est la réponse que vous avez été la recherche de.
Si vous avez le choix, allez-y avec PreferenceManager.getSharedPreferences()
, il est de plus évident et de moins en moins appel de méthode à l'interne.
Fait amusant:
PreferenceFragment
:
public PreferenceManager getPreferenceManager() {
return mPreferenceManager;
}
public PreferenceScreen getPreferenceScreen() {
return mPreferenceManager.getPreferenceScreen();
}