¿Obtenemos todos nuestros datos de Firebase como caché después de habilitar la capacidad sin conexión en android?

Tengo una duda sobre la capacidad fuera de línea en Firebase android. Después de habilitar la capacidad offline de Firebase,

¿Recibimos todos los datos de nuestra aplicación Firebase incluyendo datos raíz o sólo los datos de usuario registrados como caché ?

final FirebaseDatabase database = FirebaseDatabase.getInstance(); if (database != null) { database.setPersistenceEnabled(true); database.getReference().keepSynced(true); } 

Estoy utilizando este fragmento de código para habilitar la capacidad fuera de línea en la clase Aplicación

Aquí, tengo respuesta para mi pregunta de Firebase Support Team

En realidad, la razón principal, estoy recibiendo todos los datos (incluyendo los datos de usuario iniciados y todos los datos de otros usuarios) de mi aplicación firebase como caché en mi dispositivo, porque estoy usando keepSynced () en el nodo raíz de mi base de datos.

Echa un vistazo en el siguiente fragmento de código, que estoy usando para habilitar la capacidad sin conexión:

 final FirebaseDatabase database = FirebaseDatabase.getInstance(); if (database != null) { database.setPersistenceEnabled(true); database.getReference().keepSynced(true); } 

Como en el fragmento de código anterior, la referencia de la base de datos hace referencia al nodo raíz de la base de datos.

Ahora, en esta referencia de base de datos, estoy usando el método keepSynced () . Por lo tanto, esto es mantener todos los datos en sincronización como caché en el dispositivo y esto no es una buena cosa que hacer.

Idealmente, deberíamos usar el método keepSynced () en las bases de datos necesarias para que nuestra aplicación funcione sin conexión.

Aquí en el fragmento de código anterior, estoy haciendo un error más que estoy usando setPersistenceEnabled () en la clase de aplicación. Debo mover esto en mi clase de actividad del lanzador.

Según mi fragmento de código anterior, setPersistenceEnabled () se llamará cada vez, cuando la aplicación se iniciará por primera vez. Esto debe utilizarse sólo una vez después de instalar la aplicación.

Podemos llamar a setPersistanceEnabled () como el siguiente fragmento de código para llamarlo una vez.

 @Override public void onCreate() { super.onCreate(); if (!FirebaseApp.getApps(this).isEmpty()) { FirebaseDatabase.getInstance().setPersistenceEnabled(true); } } 

Lee esto

Al habilitar la persistencia, los datos que el cliente de la base de datos en tiempo real de Firebase sincronizan mientras está en línea persisten en el disco y están disponibles sin conexión, incluso cuando el usuario o el sistema operativo reinicia la aplicación.

enlazar

  • Firebase: ¿Cómo mantener un usuario de Android conectado?
  • Android Firebase, simplemente obtiene los datos de un objeto secundario
  • Android: Firebase toma demasiado tiempo para buscar datos
  • OAuth2 problemas después de actualizar firebase
  • Cómo evitar la caché Firebase para actualizar los datos (en la aplicación para Android)?
  • Notificaciones de Firebase en primer plano
  • ¿Las notificaciones no siempre se reciben por teléfono?
  • Enlace dinámico de Firebase que no abre la aplicación
  • Android Uso de Firebase Analytics junto con Google Analytics
  • Nuevas anotaciones de firebase json
  • Variable de ajuste dentro de onDataChange en Firebase (singleValue Listener)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.