Esta página fue traducida automáticamente del portugués y puede contener errores. La versión en portugués es la canónica.
Archivos y “preferencias”
Esta página es honesta sobre una eliminación. Si buscas SharedPreferences/UserDefaults, detente:
en CrossFly ese mecanismo no existe.
⚠️ La persistencia ligera fue eliminada
Settings.appSettings, appSecretKey, refresh() y las antiguas “preferencias” ya no existen — y
no hay grabación automática al salir. Tú grabas explícitamente, en el momento adecuado.
Qué usar en su lugar
| ¿Necesitas guardar… | Usa |
|---|---|
| flags, tema, último login (clave→valor) | tabla clave/valor en SQLite (guía) |
| blobs / archivos | un archivo en Device.homeFolder |
Clave/valor en SQLite (recomendado para configuraciones)
try (SqliteDb db = SqliteDb.open("app.db")) {
db.exec("CREATE TABLE IF NOT EXISTS kv(k TEXT PRIMARY KEY, v TEXT)");
db.execute("INSERT OR REPLACE INTO kv(k, v) VALUES(?, ?)", "tema", "escuro");
String tema = db.queryString("SELECT v FROM kv WHERE k=?", "tema"); // null si ausente
}
Archivo simple en Device.homeFolder
Device.homeFolder es el directorio base de la app (varía según la plataforma):
| Plataforma | homeFolder |
|---|---|
| Desktop | directorio de trabajo (cwd) |
| Android | almacenamiento privado de la app |
| iOS | carpeta documents |
String path = Device.homeFolder + "config.json";
byte[] bytes = Utils.readBytes(path); // ⚠️ null si el archivo no existe
if (bytes != null) {
String json = new String(bytes);
// … parse …
}
// FileHandle (libGDX) para casos que necesitan más control:
FileHandle fh = Utils.loadFile(path); // null si no se encuentra
Buenas prácticas
- Graba explícitamente en los puntos adecuados (al guardar una config, al salir de una pantalla) — nada se persiste solo.
- Prefiere SQLite kv antes que un archivo suelto para configuraciones (transaccional, consultable).
- Comprueba siempre
nulldeUtils.readBytes/loadFile(el archivo puede no existir).
Errores comunes
- Buscar
Settings.appSettings/SharedPreferences— fue eliminado; no vuelve. - Asumir grabación automática al cerrar — no la hay; graba tú mismo.
- No tratar
nullal leer un archivo inexistente.
Véase también
¿Te resultó útil esta página?¡Gracias por tu opinión!