SharedPreferences: ¿Es una clase o una interfaz?
Estoy confundido, por favor ayúdame.
La documentación de los desarrolladores de Android dice SharedPreferences
es una interfaz y también podemos ver en grepCode que SharedPreferences es una interfaz .
- SharedPreferences en iOS 4
- Cómo hacer que la aplicación vaya a otra página si no se ejecuta por primera vez
- SharedPreferences putStringSet no funciona
- Mantener más de un archivo de preferencias compartidas en android
- Android: guarda Object to SharedPreferences y lo consigue en cualquier lugar de la aplicación.
Pero developers.android también dice SharedPreferences
es una clase.
Escriben.
"La clase SharedPreferences proporciona un marco general …"
Entonces, SharedPreferences es una clase o una interfaz ?
- Cómo tratar las preferencias compartidas almacenadas en una biblioteca
- Cómo Android SharedPreferences guarda / almacena un objeto
- SharedPreferences.getBoolean devuelve verdadero cada vez
- Eliminar todas las preferencias compartidas de mi aplicación
- Uso del editor de preferencias compartidas
- Puedo almacenar dos o más valores con la misma clave usando SharedPreferences en android?
- Validación de preferencias de Android EditText
- Preferencias compartidas de Android en diferentes aplicaciones
Las documentaciones no está mal, pero puede ser un poco confuso.
Si ve el código, verá que SharedPreferences
es en realidad una interfaz. Pero como usted mencionó, aquí se está refiriendo a su implementación en clase que en SharedPreferencesImpl
realmente y usted puede mirar en su aplicación aquí . Cuando realiza una llamada al método getSharedPreferences()
, en realidad devuelve el objeto SharedPreferencesImpl
que es una clase que implementa la interfaz SharedPreferences
.
Bueno, SharedPrefs es una interfaz. Es implementado por SharedPreferencesImpl que nos proporciona la funcionalidad que el doc habla sobre prefs compartidos. Aunque SharedPreferencesImpl no ha estado en el documento, SharedPreferences siempre ha sido la cara de la funcionalidad.
SharedPreferences es una interfaz, pero implementada como una clase. Esta concepción es una fábrica abstracta, una especie de patrón de diseño. La declaración de SharedPreferences es interfaz, pero getSharedPreference () devuelve una clase que implementa la interfaz SharedPreferences.
Sharedferencias es una interfaz. puede ver aquí que Sharedpreferences tiene la interfaz como su padre.
Interfaz para acceder y modificar los datos de preferencia devueltos por getSharedPreferences (String, int). Para cualquier conjunto particular de preferencias, hay una única instancia de esta clase que comparten todos los clientes.
Para más información, puede ver esta respuesta.
- API de Android 23. WebView cómo ignorar errores de JavaScript
- Problema con OpenCV para Android en Android 5.0 (piruletas)