#Servicios

1 messages · Page 1 of 1 (latest)

orchid current
#

El tema de los servicios tiene su complejidad

plush salmon
#

Ya me estoy dando cuenta. Para mi esto es nuevo

#

Jajaj

orchid current
#

pero eso que dices se puede hacer perfectamente

#

solo tienes que tener en cuenta que para iniciar el servicio, el usuario tiene que haber abierto la app por lo menos una vez

plush salmon
#

Estaba probando con un Handler y que se active cada X segundos, pero es quitarlo de segundo plano y ya se para

orchid current
#

para que tu puedas lanzar el inicio del servicio

#

luedo el usuario puede cerrarla o ponerla en segundo plano y no habría proglema

plush salmon
orchid current
#

correcto, el handler no te sirve porque su ciclo de vida está ligado al de la app

plush salmon
#

que este servicio checkee cada 5 minutos un estado en el servidor

orchid current
#

el servicio tiene su propio ciclo de vida

plush salmon
#

entiendo

#

y un servicio puedo hacer que se active cada X minutos?

orchid current
#

Si no te importa hacer la consulta cada 15 min al servidor, la mejor opciones es el workmanager, ya que él se encarga de la gestion de los permisos en las distintas versiones y tiene mnuchas ventajas

plush salmon
#

Ya... Pero sería mejor cada 5 minutos

orchid current
#

es un api creado por google para manejar justo lo que kieres hacer. Si lo quieres hacer cada 5 min, vas a tener que pelearte tu con los servicios

plush salmon
#

Mmmm, lo consultaré con mi jefe. Ya que si es más ventajoso el Workmanager, mejor

#

Pero leí que no era muy preciso, no?

orchid current
#

Dentro del servicio si puedes lanzar el handler/coroutines/rxjava o lo que kieras para que se ejecute cada 5 min

quaint novaBOT
#

Hey @orchid current, ¡has avanzando al nivel 8! picar

plush salmon
#

Por ejemplo, si quieres que cada día lanzar un servicio a las 2:00 am, un día te la puede hacer a las 2:13, otro a las 2:07

plush salmon
orchid current
#

Workmanager no está pensado para cosas puntuales como alarmas del reloj etc

plush salmon
#

Entiendo, es que lo que quiero ahcer es que cuando el usuario haga una acción, esta acción tiene un tiempo límite de 2 horas

#

y es checkear un estado cada 5 minutos o así

orchid current
#

es para tareas en 2º plano que ademas están optimizadas para la gestion de bateria etc

plush salmon
#

para ver si ha cambiado el estado o no

orchid current
#

como backups cada x tiempo (horas/dias/meses)

plush salmon
#

Mmm, pues a lo mejor con el Workmanager no lo podría hacer

#

ya que es para algo puntual que puede hacer una o dos veces al día

#

o incluso más si quiere

#

jaja

orchid current
#

yo creo que el workmanager es justo lo que necesitas

plush salmon
orchid current
#

porque, si no recuerdo mal, esta pensando para eso que has comentado

#

Con le workmanager puedes realizar la tarea de enviar al servidor y programarle que en caso de fallo lo reintente cada x tiempo hasta que lo consiga o que haga otra cosa en caso de fallo

#

tienes una gestion de esos procesos mas completa que con los servios

plush salmon
#

Vale, vale

#

pues le daré una vuelta

#

a ver que tal

orchid current
#

ya que google se ha currado esa api precisamente para esas cosas

#

voy a exar un ojo a algunos enlaces que me suenan, a ver si es lo que necesitas

plush salmon
#

Buah, pues muchas gracias

orchid current
#

y ya me diras cuando te leas la EXTENSA docu...

plush salmon
#

Jajajajajaaja

#

Poco a poco

orchid current
plush salmon
#

Si!

#

Creo que de ahí me vendría bien la de tipo diferido

orchid current
#

Justó ahí esta lo que te decia de los 15 min

plush salmon
#

Si

quaint novaBOT
#

Hey @plush salmon, ¡has avanzando al nivel 5! picar

orchid current
#

Si no es algo que tengas que hacer cada x segundos, yo apostaría por utilizar workmanager cada 15 min jejej

plush salmon
#

Tampoco es tan descabellado hacerlo cada 15 min, creo yo

orchid current
#

creo que las ventajas son mas que considerables, a no ser que los 5 min sean un requisito imprescindible

#

cuando me has dicho lo de los 5 min... creo que para un usuario daría igual

plush salmon
#

porque claro, un AlarmManager sólo es para alarmas y calendarios, no? No puedo hacerlo para que lo haga cada 5 min

orchid current
#

porque no va a estar 5 min con la app abierta esperando... lo que se vaya a hacer en segundo plano, se puede hacer cada 15, sobre todo si tienes una ventana de 2 horas, como me has comentado

#

Workmanager lanzará la mejor option en cada versión de android

plush salmon
#

Claro, cuando el usuario haga cierta acción, tiene un tiempo máximo de 2 horas, en los que cada X intervalo he de checkear si ha cambiado un estado en el servidor

orchid current
#

workmanager es una api que facilita la implementacion que tendrias que hacer tu usando: jobdispatcher, workmanager, hilos, lo que sea

plush salmon
#

aaaaah

#

vale

#

Como un comodín

#

que ya te elige mejor en cada situación

orchid current
#

tu podrias usar el workmanager pero tb tienes que tener en cuenta a partir de que versijon de android esta disponible, etc

plush salmon
#

entiendo entiendo

orchid current
#

y te da opciones de optimización

plush salmon
#

Algo leí, como una serie de condiciones

#

como hazlo si está cargando, etc

orchid current
#

Lee esto, que creo que tambien puede ser util

#

Con la configuracion de reintento lineal o exponencial puedes intentar hacer la obtencion de los datos del servidor y si falla, que el propio workmanager lo reintente hasta que lo consiga

#

y luego en los proximos 15 min lo volvera a hacer

#

Te diría que le dediques una tarde o incluso un par de dias a leer todo lo que ofrece la api

#

Con los detalles que me has dicho, creo que merece la pena y es justo lo que necesitas!

plush salmon
#

Wow

#

Si que hay chicha, si

#

Jajaja

#

Buah, muchísimas gracias por la info!

orchid current
#

Yo siempre tiro de los codelabs que conozco para una primera toma de contacto

#

Ademas tienes el codigo en github

#

Nada, good luck!