Por qué necesita una abstracción de ajustes
Una única API sobre SharedPreferences y NSUserDefaults
Por qué necesita una abstracción de ajustes es una lección gratuita de Kotlin Multiplatform Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Kotlin Multiplatform Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Kotlin Multiplatform Academy incluye 4 lecciones en total.
La brecha del almacenamiento
Android y iOS incluyen sus propias formas de guardar valores pequeños. Sin una capa compartida, tendría que escribir ese código dos veces. Vamos a solucionarlo. 🔑
Dos almacenes nativos
Android almacena datos pequeños de clave-valor en SharedPreferences, mientras que iOS utiliza NSUserDefaults. La misma idea, dos APIs muy diferentes.
Una API para gobernarlos
Una abstracción de Settings envuelve ambos almacenes nativos tras una única interfaz de Kotlin, para que el código compartido llame al mismo método en todas partes.
Conozca Multiplatform Settings
La biblioteca comunitaria multiplatform-settings ofrece exactamente eso: un único tipo Settings respaldado por el almacén nativo adecuado en cada plataforma.
Añada la dependencia
Añada el artefacto multiplatform-settings al commonMain de su módulo compartido para que todos los destinos puedan utilizarlo.
commonMain.dependencies {
implementation("com.russhwolf:multiplatform-settings:1.1.1")
}La interfaz Settings
En el centro se encuentra la interfaz Settings. El código compartido depende de este tipo, nunca directamente del almacén de la plataforma.
interface Settings {
fun putString(key: String, value: String)
fun getString(key: String, defaultValue: String): String
}Por qué abstraerlo
La abstracción mantiene su lógica compartida portable. Puede cambiar el almacén subyacente o añadir otra plataforma sin modificar el código que lo utiliza.
Perfecto para datos pequeños
Settings está pensado para valores pequeños: indicadores, un nombre de usuario o la elección de un tema. Para datos grandes o relacionales, utilice SQLDelight.
Inyecte, no cree
Cada plataforma crea su propia instancia de Settings y la pasa al código compartido, de modo que commonMain queda libre de dependencias de plataforma.
Llámelo desde common
Una vez inyectado, el código compartido solo tiene que llamar a los métodos de Settings. La misma línea se ejecuta en Android y iOS sin ningún cambio.
fun saveTheme(settings: Settings, theme: String) {
settings.putString("theme", theme)
}Diseñado para facilitar las pruebas
Como es una interfaz, durante las pruebas puede sustituirla por un fake de Settings en memoria, sin necesidad de un dispositivo ni un emulador. 🧪
Comprobación rápida
Asegurémonos de que el propósito de la abstracción está claro.
Repaso
Ha aprendido por qué KMP envuelve los almacenes nativos de clave-valor tras una única interfaz Settings: es portable, fácil de probar y se escribe una sola vez. A continuación, lecturas y escrituras reales. 🎉
Aprende Kotlin con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «Por qué necesita una abstracción de ajustes» es gratis?
Sí — el texto completo de «Por qué necesita una abstracción de ajustes» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Kotlin Multiplatform Academy, actualiza a CoddyKit PRO. El curso de Kotlin Multiplatform Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Por qué necesita una abstracción de ajustes»?
Una única API sobre SharedPreferences y NSUserDefaults Practicas Kotlin Multiplatform Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Kotlin Multiplatform Academy?
No se requiere experiencia previa. Kotlin Multiplatform Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Por qué necesita una abstracción de ajustes»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Kotlin Multiplatform Academy?
Sí. Cada lección de Kotlin Multiplatform Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Por qué necesita una abstracción de ajustes
- Lea y escriba valores tipados
- Valores predeterminados y borrado de claves
- Almacene un token de autenticación de forma segura