Arquitectura de Aplicaciones

1

¡Renovaremos este curso! Te quedan unos días para concluirlo.

2

Pasos para aprender Flutter Avanzado

3

¬ŅQu√© es una Arquitectura de software?

4

Tipos de Arquitecturas para Flutter

5

Arquitectura BLoC en Flutter

6

BLoC + Clean Architecture en Flutter

7

Estructurando nuestro proyecto utilizando la Arquitectura BLoC

8

Haciendo BLoC Singleton en Flutter

9

Aplicando Providers al Proyecto

Firebase y Flutter

10

¡Renovaremos este curso! Te quedan unos días para concluirlo.

11

Integrando Firebase Authentication, Cloud Firestore y Firebase Storage al proyecto

12

Integrando Firebase a Flutter para iOS

13

Integrando Firebase a Flutter para Android

14

Creación de Pantalla de Login con Flutter

15

Creando botones reutilizables en Flutter

16

Autenticación de Firebase con Google

17

¡Renovaremos este curso! Te quedan unos días para concluirlo.

18

Implementando Firebase Authentication en BLoC Pattern

19

Streams en Flutter

20

Manejando una sesión con Firebase Authentication y Flutter

21

Implementando Google SignOut en BLoC

22

Implementando Google SignOut en View

23

Monitoreando y validando la conexión al Sign con Google

24

Mostrando los datos de usuario de Google en la interfaz en Flutter

Cloud Firestore de Firebase en Flutter

25

¡Renovaremos este curso! Te quedan unos días para concluirlo.

26

¬ŅQu√© es Cloud Firestore de Firebase?

27

Analizando un modelo de datos no relacional

28

Creando un Modelo de datos en Cloud Firestore

29

Enviando datos a Cloud Firestore

30

Creando un Widget gradiente personalizado

31

Manejo de Desbordamiendo de Texto de Widget Text

32

Botón de Back en un Appbar en Flutter

33

Navegación entre pantallas en Flutter

34

Widget Text Appbar personalizado en Flutter

35

¡Renovaremos este curso! Te quedan unos días para concluirlo.

36

Widget TextField personalizado en Flutter

37

Creando una Safe Area para una interfaz que tiene un AppBar

38

Widget TextField con iconos en Flutter

39

Retocando el CardView

40

Mostrando im√°genes en un CardView

41

Creando un botón de Submit en Flutter

42

Envío de datos de un fórmulario en Flutter

43

Subiendo datos a Firestore de Firebase

44

Formularios en Flutter

Acceso al Hardware con Flutter

45

¡Renovaremos este curso! Te quedan unos días para concluirlo.

46

Acceso a la c√°mara en Flutter

47

Librerías de acceso a Hardware en Flutter

Firebase Storage en Flutter

48

¡Renovaremos este curso! Te quedan unos días para concluirlo.

49

Qué es y cómo funciona Firebase Storage en Flutter

50

Subiendo una imagen a Firebase Storage desde Flutter

Querys avanzados en Cloud Firestore de Firebase en Flutter

51

¡Renovaremos este curso! Te quedan unos días para concluirlo.

52

Manejo de im√°genes en Cloud Firestore

53

Cloud Firestore insertando referencias y arrays en la base de datos

54

Descargar im√°genes de Firebase Storage y mostrarlas en Flutter

55

Procesando datos con BLoC Pattern

56

Trayendo datos de Cloud Firestore

57

Persistiendo datos de un usuario logueado

58

Aplicando Filtros en Cloud Firestore

59

¡Renovaremos este curso! Te quedan unos días para concluirlo.

60

Construyendo los Places en la pantalla de Home

61

Mostrando los Places en la pantalla de Home

62

Actualizando datos en tiempo real

63

Manejando la lógica de likes, como botón toggle.

64

Insertando y obteniendo referencias en datos de Firestore.

65

Usando el caché para cargar imágenes más rápido

66

StreamController, sink, add y StreamBuilder

Conclusiones

67

¡Renovaremos este curso! Te quedan unos días para concluirlo.

68

Conclusiones

No tienes acceso a esta clase

¬°Contin√ļa aprendiendo! √önete y comienza a potenciar tu carrera

Curso Avanzado de Flutter

Curso Avanzado de Flutter

Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

Trayendo datos de Cloud Firestore

56/68
Recursos

Aquí está el repositorio de esta clase.

Aportes 12

Preguntas 3

Ordenar por:

¬ŅQuieres ver m√°s aportes, preguntas y respuestas de la comunidad?

A los que esten haciendo el curso ahora, les aviso que ya no sirve el snapshot.data.documents. Basicamente porque documents cambio por docs, solo deben hacer ese cambio y les funcionara tranquilamente. Saludos

Falta indicarle al usuario que se esta subiendo la imagen e impedir que suba miles de im√°genes por NO desactivar el bot√≥n de agregar el lugar ūüėÉ

para los que llegamos aqui, aca les dejo el repositorio en el commit exacto donde acaba esta clase ya funcionando y mostrando la lista de Places, espero les sirva

Mi Proyecto
Comparto mi capirotada: flutter + Firebase Authentication + Firestorage + Mongodb.
Nota. Tuve problemas para usar database de firebase.

Pueden reducir el código dentro de la función builder del StreamBuilder asi:

switch (snapshot.connectionState) {
	case ConnectionState.waiting:
	case ConnectionState.none:
 		return new CircularProgressIndicator();
	default:
		return Column(
			children: userBloc.buildPlaces(snapshot.data.documents),
 		);
}

Para la imagen, utilice Image.network y he incluido un CircularProgressIndicator() que aparece mientras carga la imagen en el LISTADO de Places. El detalle que no solucioné fue el de los bordes redondeados, aun si lo pusiera dentro de un Container(), la imagen no redondeaba los bordes.
aquí la fuente:
Flutter.dev

Image.network(
                      widget.receipt.photoUrl,
                      fit: BoxFit.cover,
                      loadingBuilder: (BuildContext context, Widget child,
			ImageChunkEvent loadingProgress){
                        if (loadingProgress == null) return child;
                        return Center(
                          child: CircularProgressIndicator(
                            value: loadingProgress.expectedTotalBytes != null ? 			loadingProgress.cumulativeBytesLoaded / loadingProgress.expectedTotalBytes : null,
                          ),
                        );
                      },
                    ),
cosa rara que me pasa: la informacion del usario no tiene persitencia, es decir al hacer scroll y volver a mostrar el header no se vuelve a llamar la informacion del usuario. pero bueno, me soy por satisfecheo que he llegado hasta aqui con un codigo que muestra las imagenes desde la nube
jajajajaja me da risa que a este punto me siga funcionando la aplicacion. no se como pero en definitiva se debe a la comunidad ejemplo: <https://github.com/daniel-0318/curso_avanzado_de_flutter/commit/b0ae2188b399f90e069f4d2f5c17f081d23eb967>

Me da este error o advertencia, donde me dice que el children != null, ya hice de todo para que me funcione, me pueden ayudar por favor y muchas gracias.

userBloc = BlocProvider.of(context);
return Container(
margin: EdgeInsets.only(top: 10.0, left: 20.0, right: 20.0, bottom: 10.0),
child: StreamBuilder(
stream: userBloc.placesStream,
builder: (context, AsyncSnapshot snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.waiting:
case ConnectionState.none:
return CircularProgressIndicator();
default:
return Column(
children: userBloc.buildPlaces(snapshot.data.docs),
);
}
}),
);

:S :S al fin quedó!

Me sale este error:
a non-null string must be provided to a text widget
.
.
no me sale nada en el name de la pantalla

Si a alguien se sigue saliendo error despues de agregar la url de la imagen, yo solo verifique que no fuera null y ya no me marco error en profile_places_list.dart

child: StreamBuilder(
          stream: userBloc.placesListStream,
          builder: (context, AsyncSnapshot snapshot) {
            if (snapshot != null) {      <-----------
              switch (snapshot.connectionState) {```