que pasa nada mis memoria los liberar las fotos espacio datos conversaciones como celular cache bueno borro borrar borran android caching firebase firebase-database

android - pasa - Firebase cómo detectar si los datos almacenados en caché están disponibles



si borro el cache de whatsapp se borran las conversaciones (1)

Tengo una aplicación que extrae algunos datos simples de Firebase Realtime Database, y para hacer las cosas más sencillas, aquí está el flujo que quiero tener.

Si el teléfono está conectado a internet:

  • Obtenga los datos de la base de datos de firebase

Si el teléfono está fuera de línea

  • Si hay datos en la memoria caché de Firebase -> obtener datos de la memoria caché
    • Si no hay nada en la memoria caché de Firebase -> muestra algunos datos predeterminados almacenados localmente en la aplicación

El problema es que no veo una forma posible de detectar si hay datos disponibles en la memoria caché de Firebase. Entonces, cuando el teléfono está fuera de línea, no puedo ver si debería mostrar los datos almacenados localmente o la memoria caché de la base de datos de Firebase.


Firebase lo hace por ti.

Las aplicaciones de Firebase funcionan incluso si su aplicación pierde temporalmente su conexión de red.

Además, las aplicaciones de firebase manejan automáticamente las interrupciones de red temporales. Los datos almacenados en caché están disponibles sin conexión y Firebase reenvía las escrituras cuando se restaura la conectividad de la red.

Si no es suficiente y necesita trabajar fuera de línea, también puede habilitar la persistencia del disco simplemente agregando:

FirebaseDatabase.getInstance().setPersistenceEnabled(true);

Más información aquí .

EDITAR:
No hay forma de saber si un valor proviene de la memoria caché local o del servidor remoto.

Solo hay una forma de saber si su aplicación está actualmente conectada al servidor de Firebase Database.
Para lograrlo, puede detectar el estado de conexión escuchando el valor .info/connected .