Dudas con tareas en segundo plano y bases de datos

94 views
Skip to first unread message

Yaiza García

unread,
Oct 5, 2015, 8:27:14 AM10/5/15
to desarrolladores-android
Hola, soy nueva en esto y estoy intentado hacer una aplicación en la que comprueba los datos de un xml alojado en internet y si estos han cambiado respecto a los datos anteriormente guardados en mi base de datos, esta se actualice.
Necesitaría que esto lo realizase solo la app sin necesidad de iniciarla en primer plano, he leído sobre services, intentservices y Asyntask, pero no me queda muy claro como se usan.
¿Cual es mejor y porque?¿Y como se usan?
Si me pudiesen ayudar les estaría muy agradecida.

Gabriel Pozo

unread,
Oct 5, 2015, 10:36:20 AM10/5/15
to desarrolladores-android

Esas herramientas que nombras, son  justo lo que necesitas ;)
Si esos cambios los necesitas revisar cada un cierto período de tiempo podrías ver también alarmmanager en otro caso podrías ver lo que es push notification ;)

Ahora con esas herramientas deberías crear un services que ejecute por ejemplo directamente un asynctask que hagan la tarea que deseas, oh utilizar alguna librería como volley para que maneje tus conexiones de red directamente. Y con ello obtener el XML para que haga la comprobación de los datos.

En otras palabras, con el services vas a ejecutar tareas en segundo plano. Con asynctask vas a poder ejecutar tareas en otro hilo (requisito para conexiones de red)

Lee esto: https://developer.android.com/training/run-background-service/create-service.html#DefineManifest


--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/8h8ez2
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/desarrolladores-android.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/0375c583-eefe-4ef3-a814-8d2af4325bc9%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Yaiza García

unread,
Oct 5, 2015, 10:40:32 AM10/5/15
to desarrollad...@googlegroups.com
Muchas gracias por responder tan pronto, voy a buscar todo lo que me nombras y a ver si consigo que funcione todo correctamente :)


El lunes, 5 de octubre de 2015, 16:36:20 (UTC+2), Gabriel Pozo escribió:

Esas herramientas que nombras, son  justo lo que necesitas ;)
Si esos cambios los necesitas revisar cada un cierto período de tiempo podrías ver también alarmmanager en otro caso podrías ver lo que es push notification ;)

Ahora con esas herramientas deberías crear un services que ejecute por ejemplo directamente un asynctask que hagan la tarea que deseas, oh utilizar alguna librería como volley para que maneje tus conexiones de red directamente. Y con ello obtener el XML para que haga la comprobación de los datos.

En otras palabras, con el services vas a ejecutar tareas en segundo plano. Con asynctask vas a poder ejecutar tareas en otro hilo (requisito para conexiones de red)

Lee esto: https://developer.android.com/training/run-background-service/create-service.html#DefineManifest


El lun., 5 de octubre de 2015 9:27, Yaiza García :

Alvaro Carreño

unread,
Nov 11, 2015, 10:20:44 AM11/11/15
to desarrolladores-android

Hola Yaiza, como dice el amigo Gabriel hay dos formas basicas para hacerlo, la primera es usando alarmmanager que es algo así como una tarea programada la cual se ejecutara cada cierto tiempo un servicio que verificara en el servidor si hay cambios (consume batería y datos), la segunda opción es un push notification que creo es la mejor opción y es algo como que el servidor es quien se encarga de la revisión constante de un estado y devolver al móvil ese nuevo valor, las técnicas son las herramientas para ejecutar tareas en segundo plano para realizar conexiones como también te lo menciono ya Grabriel.


Espero te sirva de algo, saludos.

Eduardo Martin Cabrera

unread,
Nov 11, 2015, 11:51:20 AM11/11/15
to desarrolladores-android
Me extraña que no hayan mencionado al Sync Adapter que parece ser una de las cosas recomendadas para sincronizar datos remotos en el dispositivo, pero reconozco que para mi al menos como newbie que soy, es algo complicado la implementación, ademas que involucra conocer varias cosas (BD sqlite, Content Provider, Services, etc. y el trabajo que eso lleva). hay que notar que el sync adapter no es instantaneo, si se necesita algo que actualice instantaneamente por ej cada cierto tiempo, ahi si viene mejor el tema de alarm manager, si fuese que se precisa la sincronizacion cuando cambian los  en datos el servidor entonces seria util el tema de las push notifications, para indicarle a la app cliente que haga una actualizacion

aun asi pego dos links sobre el tema sync adapter, el segundo link esta en castellano y no tiene desperdicio

http://developer.android.com/intl/es/training/sync-adapters/index.html

http://www.hermosaprogramacion.com/2015/07/como-sincronizar-sqlite-con-mysql-en-android/
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages