Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-09-2014
Fossy Fossy is offline
Miembro
 
Registrado: Feb 2006
Posts: 61
Poder: 13
Fossy Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 28-09-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: Feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 15
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Fossy,

Cita:
Empezado por Fossy
...Desde XE5 esperaba que con el tiempo se implementara algo en forma de servicio, tarea...que se pueda quedar residente y en segundo plano...¿Se os ocurre algo que pueda hacer con el nuevo XE7?...


Pregunto: ¿Has considerado la posibilidad de usar hilos?

En Delphi XE7 existe una nueva librería Parallel Programming:
Cita:
New in Delphi XE7! The new Parallel Programming library exponentially increases performance of existing C++ and Object Pascal code by parallelizing threads that can take full advantage of multi-core CPUs. Also, build 64-bit Windows applications with C++ and Object Pascal to take advantage of the latest hardware, access more memory, and push the envelope of performance with the easy to integrate Parallel Programming Library. All Windows technologies are 64-bit enabled, including VCL, FireMonkey, RTL, compilers and debugger, to streamline the migration of existing applications to 64-bit Windows.

Tomado de : Delphi XE7
Revisa esta información:
Espero sea útil

Nelson.
Responder Con Cita
  #3  
Antiguo 29-09-2014
Fossy Fossy is offline
Miembro
 
Registrado: Feb 2006
Posts: 61
Poder: 13
Fossy Va por buen camino
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.
Responder Con Cita
  #4  
Antiguo 29-09-2014
chaosego chaosego is offline
Miembro
 
Registrado: Jan 2007
Posts: 39
Poder: 0
chaosego Va por buen camino
Hola Fossy, mirate este hilo de Brian Long donde explica como crear servicios en segundo plano con delphi.
Responder Con Cita
  #5  
Antiguo 29-09-2014
Fossy Fossy is offline
Miembro
 
Registrado: Feb 2006
Posts: 61
Poder: 13
Fossy Va por buen camino
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!!.
Responder Con Cita
  #6  
Antiguo 30-09-2014
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: Jul 2007
Ubicación: Republica Dominicana
Posts: 1.063
Poder: 13
kurono Va por buen camino
amigo Fossy cual es el codigo de la aplicacion service que menciona chaosego ya que descargo un comprimido con varios ejemplo execpto el de services
Responder Con Cita
  #7  
Antiguo 30-09-2014
chaosego chaosego is offline
Miembro
 
Registrado: Jan 2007
Posts: 39
Poder: 0
chaosego Va por buen camino
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.
Responder Con Cita
  #8  
Antiguo 30-09-2014
Fossy Fossy is offline
Miembro
 
Registrado: Feb 2006
Posts: 61
Poder: 13
Fossy Va por buen camino
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!!.
Responder Con Cita
  #9  
Antiguo 30-09-2014
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: Jul 2007
Ubicación: Republica Dominicana
Posts: 1.063
Poder: 13
kurono Va por buen camino
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
Responder Con Cita
  #10  
Antiguo 01-10-2014
Fossy Fossy is offline
Miembro
 
Registrado: Feb 2006
Posts: 61
Poder: 13
Fossy Va por buen camino
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!!.
Responder Con Cita
  #11  
Antiguo 02-10-2014
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: Jul 2007
Ubicación: Republica Dominicana
Posts: 1.063
Poder: 13
kurono Va por buen camino
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
Responder Con Cita
  #12  
Antiguo 02-10-2014
chaosego chaosego is offline
Miembro
 
Registrado: Jan 2007
Posts: 39
Poder: 0
chaosego Va por buen camino
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...
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 22:08:07.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi