FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Tarea en segundo plano
Hola amigos:
Desde XE5 esperaba que con el tiempo se implementara algo en forma de servicio, tarea o lo que sea (me da igual) que se pueda quedar residente y en segundo plano. Tan sencillo como que tengo la necesidad de enviar coordenadas GPS cada 15 segundos a un servidor teniendo en cuenta el siguiente factor: Los que van a llevar los móviles son repartidores, que lo usarán además para llamar, enviar mensajes, etc., y por supuesto si se les apaga el móvil, la tarea, servicio o lo que sea debe de poder cargarse automáticamente al encenderlo de nuevo. Total, que necesito de verdad hacer algo residente que envíe la información, ¿se os ocurre algo que pueda hacer con el nuevo XE7?. Gracias amigos. |
#2
|
||||
|
||||
Fossy,
Cita:
Pregunto: ¿Has considerado la posibilidad de usar hilos? En Delphi XE7 existe una nueva librería Parallel Programming: Cita:
Cita:
Nelson. |
#3
|
|||
|
|||
Gracias Nelson.
La librería nueva no soluciona nada, ya que las rutinas están todas al mismo nivel se programen con el código que se programen. En cuanto a los Threads, sólo están "vivos" mientras el programa esté en ejecución. Si el programa lo cierras se acabaron las Threads, por eso pregunto por una forma de dejar una tarea residente (con la aplicación cerrada), no sé si me explico. La solución es compleja para Delphi-Android, sin embargo es un chasquido de dedos con Titanium por ejemplo. Un saludo. |
#5
|
|||
|
|||
Gracias chaosego.
Ese código no solo le he mirado sino que he hecho pruebas con el, incluso conseguí mejorar algo, pero no funciona. Su propio autor lo dice al final del artículo, que se trata de algo muy experimental y que él mismo no ha podido arreglar que dejara de colgarse. Lo cierto es que no funciona bien, se cuelga mucho y provoca problemas. Para probar y jugar un poco no está mal, teniendo en cuenta además que ese artículo salió recién salido el XE5 hace casi 2 años, y hoy día con el XE7 Embarcadero ya debería haber sacado algo para crear servicios, ya que han metido DE TODO y bajo mi humilde opinión, en el mayor de los casos no sirve para nada, ya que hoy día lo que impera es el servicio y una APP sin servicios trabajando en segundo plano casi no sirve para nada. Es increíble ver como han hecho todo tipo de cosas para la nube, y cuando la App está "off" ¿qué haces?..., es que no puedes mandarle nada, ni un mensaje, ni una actualización de algo..., nada!!, muy bonito todo lo que han hecho pero sólo funciona si la App está activa. Vamos, imposible realizar un WhatsApp, o un calendario en la nube que te avise de cosas..., ni siquiera un sistema de pedidos online (si la app no conecta al servidor cada x minutos, imposible que se entere de pedidos ni de NADA!!). Nos han cargado Delphi de cielos y nubes in aprovechables. Yo es que no lo entiendo, de verdad. Gracias amigos!!. |
#7
|
|||
|
|||
Hola Fossy, hace tiempo encontré estos hilos, estan en bulgaro creo, pero los ejemplos se entiende facilmente:
- Gestión del Back-Button en dispsitivos. Interesante para mandar al background programas. - Servicios en BackGround... Otra manera de ver como implementarlos. Espero que alguno te sirva, yo he probado adaptando los de backbutton y la verdad es quye he conseguido lo que necesitaba, que el programa se quedara 'oculto' en segundo plano y funcionando... en mi caso un programa para escuchar la radio local online. |
#8
|
|||
|
|||
Kurono son estos enlaces:
http://blog.blong.com/2013/11/delphi...-services.html http://blog.blong.com/2013/11/delphi...es-part-2.html Chaosego: Gracias por los enlaces, efectivamente la alternativa pasa por dejar las Apps en segundo plano con un timmer, algo que me parece una barbaridad porque si la App ocupa en memoria 40 megas, estamos mandando esos 40 megas a segundo plano manteniendo toda una App completa en ejecución. Sin embargo, no nos queda otra... Un servicio en Java es un pequeño código residente que la App deja ahí en ejecución, mientras la App se CIERRA perfectamente y no sobrecarga nada, a la vez que también preserva el consumo de batería. Cuando ese servicio tiene que introducir datos o interactuar con la App, la ejecuta de nuevo (normalmente a petición del usuario), y así es como deberíamos tener funcionando nuestras Apps los desarrolladores de Delphi a estas alturas. ¿Quién no tiene un juego en el móvil y de vez en cuando se recibe una notificación?, yo por ejemplo tengo instalado uno de póker y cuando me regalan puntos recibo una notificación SIN EL JUEGO EN EJECUCIÓN. Y obviamente si le pincho a la notificación el juego se abre (interactua el servicio con la App). Esa es la gran diferencia entre Servicio y Background. Pero como ya digo..., no nos queda otra. Gracias!!. |
#9
|
||||
|
||||
gracia Fossy por el link estuve probando la aplicacion antes de bajar el codigo fuente y la aplicacion a mi entender funciona bien si bien es cierto que cuando abres la aplicacion de nuevo el servicio se detiene creo que hay forma de mejorar esa parte en mi caso le di la prueba de 7 horas sin deternerse asi que creo que con un poco de mejoras en el codigo podria funcionar muy bien
|
#10
|
|||
|
|||
Uff, implementalo en una App tuya Kurono, vas a ver la de problemas que da, y yo pude estabilizarlo un poco, pero no es para nada fiable (lo dice su autor al final del artículo).
Estoy ahora en la alternativa, es decir, evitar que el usuario pueda salir de la App mediante el "BackButton" (si le da a Home la App pasa a segundo plano). He logrado desactivar el BackButton para que no haga nada, pero no encuentro nada para usar una instrucción que mande la App a segundo plano (no puedo emular la pulsación del botón Home tampoco). De hecho hay algunos foros extranjeros donde se está debatiendo esto mismo y nadie da con la solución. Al final volvemos a lo mismo... ¿de qué sirve tanto componente basados en BAAS y nubes si las App no son capaces de recibir nada si no están activas?, que alguien me lo explique... Un saludote!!. |
#11
|
||||
|
||||
amigo fossy los problema ya me surgieron tenes razon por lo que e probado el backbutton y es la opcion mas facil que veo para este tema estoy igual que tu y me imagino que muchos miembros de este club, deseperado por tener un procedimiento o una funcion que haga esto por uno
ahora veo un problema con el backbutton y lo menciona en unos de los comentario anteriores y es que uno esta mandando una aplicacion completa a segundo plano con lo cual puede producir que android cierre la aplicacion para liberar espacio un comentario mas hay un componente en delphi xe5 de servicio de notificacion podria ese componente ser la solucion, o sirve para notificar en primer plano |
#12
|
|||
|
|||
Hola a todos, voy a intentar aplicar el código de Brian Long en XE7 con el implementador de java que lleva a ver que pasa, ya os comentaré los resultados...
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Query segundo plano | ramflores | Conexión con bases de datos | 4 | 13-09-2014 11:41:30 |
Aplicación en segundo plano | Fossy | Desarrollo en Delphi para Android | 1 | 27-01-2014 02:27:52 |
aplicacion en segundo plano | jocey | Varios | 5 | 20-06-2008 05:37:47 |
Ping en segundo plano | toorbye | Internet | 5 | 19-10-2006 13:52:32 |
Programar en segundo plano | Isako | API de Windows | 3 | 02-03-2005 14:31:20 |
|