Skip to content
Hugolifes edited this page Dec 18, 2021 · 5 revisions

Adcom Wiki

En esta wiki se encontrara información para dar seguimiento y entender el código en caso de no estar disponible el autor principal del código encontraras, funcionalidad y explicaciones del código esencial

Main.dart

Inicializa datos, como el OneSignal, que es la librería que nos permite recibir y enviar notificaciones y el downloader que es una herramienta que necesita se inicializada para poder descargar archivos dentro del programa sin tener que usar la librería dio o http request, este archivo representa la precarga del sistema, son librerías que tienen que estar cargadas antes de que corra la aplicación por completo, aquí se inicializan instancias de bases de datos, la carga en memoria de ser necesario "no recomendable".

El Print del estatus esta para saber si el id se esta recibiendo correctamente, ya que OneSignal a veces hace mantenimiento del servicio en vivo y surgen errores, pero se solucionan después

App.dart

Es la fuente que administra todas las rutas de pantallas (la mayoría), ya que por eficiencia en algunos casos se tuvo que manejar otro tipo de navegación entre paginas, tiene la funcionalidad de administrar las paginas en las que se navega y acceder rápidamente a la funcionalidad.

Tiene un manejador de Estados "Event Provider" este funciona cuando se hace un Login poder informar a toda la app que hubo un cambio, ya sea cerrar sesión e iniciar.

maneja dos sentencias importantes;

  1. '/': (BuildContext context) { var state = Provider.of<EventProvider>(context); if (state.isloggedIn()) { return MainMenu(); } else { return LoginPage(); } } Esta sentencia recibe el informe del estado, en este caso el login y nos informa si esta logeado o no, de ser si o no, muestra su correspondiente pantalla.

  2. '/screen17': (BuildContext context) { var tru = prefs!.containsKey('UnaVez'); if (tru == true) { return AddReporte(); } else { return OnBoardReportes(); } } Este estado nada mas consiste en enseñarle al usuario el pantallazo de los reportes al ser primerizo en la app, una vez pase esto, ese mensaje jamás se volverá a mostrar.

En esta pantalla se tiene la instancia del guardado en memoria, para obtener el booleano de la segunda sentencia.

InitState() se ejecuta primero que todo, antes de que todo cargue, esta función esta presente en la mayoría del proyecto (si no es que en todo).

loginPage.dart

Esta pagina de la aplicación se encarga de logear al usuario y validar varios estados que puedan ocurrir en caso de error o su contraparte.

Funcionalidad

  1. Provider.of<EventProvider>(context, listen:false).login(params)

Esta funcion se encarga de llamar al login y tambien informar al estado de lo que vaya a suceder, ya sea un logeo correcto o incorrecto.

La función login carga los datos y los manda al mainMenu a una función llamada Somdata (sección siguiente) los datos que carga son: Nombre, IdUsuario, IdResidente, TipoUsuario, IdCom, Comunidad, noInterno, Calle, la funcionalidad que carga los datos en memoria es SharedPreferences, función que guarda en memoria es set<tipodedato> y para obtener el guardado get<tipodedato>

mainMenu.dart

Este archivo es representa la vista del menu principal que contiene, el gridView a donde se pueden acceder los diferentes servicios de la app, nombre del usuario, logos y apartado de servicios.

Funcionalidad

  1. somData()

Clone this wiki locally