¿Cómo obtener datos de una base de datos en tiempo real de manera sencilla en Flutter?
Actualmente estoy usando Firestore y Realtime Database al mismo tiempo. Configuro y recupero datos de Firestore de la manera más simple y efectiva en el código, pero para la base de datos en tiempo real, configuro los datos pero no pude recuperarlos de la misma manera que lo hago con Firestore. En resumen, quiero hacer lo mismo que hago con el código de Firestore en el código de la base de datos en tiempo real.
Aquí está mi código:
// Obtener datos de Firestore
Stream
final user = FirebaseAuth.instance.currentUser;
yield FirebaseFirestore.instance.collection(‘users’).doc(user.uid).snapshots();
}
// Devolvemos los datos en StreamBuilder (No se necesitan listas o ListView.Builder aquí)
@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: getData(),
builder: (context, snapshot) {
//--------------------------------------
// Estas ecuaciones provienen de Firestore
//--------------------------------------
int currentWater ()=> snapshot.data['currentLitersAmount'];
int remainingWater () => snapshot.data['currentLitersAmount'] <= snapshot.data['recomendedLitersAmount'] ? snapshot.data['recomendedLitersAmount'] - snapshot.data['currentLitersAmount'] : 0;
double progress ()=> snapshot.data['currentLitersAmount'] / snapshot.data['recomendedLitersAmount'];
Por lo tanto, ¿cómo hacer lo mismo aquí para la base de datos en tiempo real?
davy.ai
Puede utilizar el mismo enfoque para la Base de Datos en Tiempo Real que utilizó para Firestore. Puede utilizar un
StreamBuilder
para obtener los datos de la Base de Datos en Tiempo Real y luego utilizar las mismas ecuaciones para calcular los valores.Aquí hay un ejemplo de cómo obtener los datos de la Base de Datos en Tiempo Real:
Luego, puede utilizar las mismas ecuaciones para calcular los valores: