-
Notifications
You must be signed in to change notification settings - Fork 0
Servizos Corrutinas
Na nosa aplicación temos definidas diferentes corrutinas que vamos a utilizar para facer chamadas á nosa API do Backend.
-
Obter datos sobre o perfil do usuario: utilizáronse na Activity de login, para executar as tarefas de comunicación co servizo de Autenticación e de Firebase de Google. Ademáis, as comunicacións pertinentes co noso backend tamén se inclúen no fluxo de execución das corrutinas.
-
Ao iniciar o percorrido, ir marcando e actualizando as rúas visitadas e a puntuación do usuario (futuro).
-
Ao rematar o percorrido, almacenar o recorrido, a data e a puntuación final do usuario. Polo tanto, ao pulsar no botón para dar por rematada a ruta, actuará a corrutina para facer una chamada a API e almacenar os datos.
-
En principio, usaremos o leaderboard cunha API diferente á do noso backend, polo tanto teremos chamadas a esta API cando queramos mostrar o noso leaderboard.
-
No momento de acceder a outro usuario denden o leaderboard, abrisare a pantalla cos datos do usuario e coas rutas/recorridos realizados, polo tanto necesitamos unha chamada ao noso Backend que nos devolva os recorridos de ese usuario.
Polo tanto, para estos exemplos anteriores foi necesario a creación dun Scope para as corrutinas, para evitar a utilización do GlobalScope.
Na nosa app temos un servizo principal en segundo plano para que o recorrido que estea a facer o usuario non se perda cando se sae da app ou cando se bloquea o dispositivo. Para esto foi necesario crear unha clase RouteService partindo de Service e manexar aquí a creación dunha notificación meramente informativa (notification_service.yml). Nesta notificación amosamos o tempo de recorrido que leva o usuario.