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 Temas de Hoy


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-07-2017
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Creo que estás confundido. Tanto ahora como antes, android cierra los programas que no se están utilizando dependiendo de las necesidades de memoria, recursos, el tiempo de inactividad, etc.
Lo que tú llamas "dictadura", realmente son las normas del funcionamiento de android, es como si dices que hay que acabar con la dictadura de eventos en windows, pero ¡¡¡windows es programación por eventos!!!
En cuanto a tu programa, por lo que dices, es simple, como una agenda que es, guarda los datos en una base de datos y no se perderán.
Estoy de acuerdo con Casimiro. En el caso de una aplicación de tipo "agenda", digamos que habrá vistas o formularios desde los que poder añadir datos. Pues bien, sólo necesitarías guardar datos cuando se vaya a "background" si el usuario está en alguno de estos formularios, no en cualquier otro de la aplicación.

Supongamos que soy un usuario de tu aplicación y hago lo siguiente:
  1. Inicio la app
  2. Voy al listado de datos que me interese (formulario)
  3. Veo los datos, y, cambio de tu app a otra.

En el caso de arriba, no importará que tu aplicación se reinicie o no, puesto que a mí, como usuario, en nada me afecta. Podré dar de nuevo los mismos pasos sin necesidad de que hubieses guardado nada en los eventos "pause y resume".

Ahora supongamos este otro escenario:
  1. Inicio la app
  2. Voy a añadir un nuevo conctacto
  3. Estoy en ello, pero, me llaman por teléfono

En este caso, sí que deberías comprobar acaso que el usuario, en efecto, estaba en el formulario para añadir un nuevo contacto, y que, ya había empezado a escribir el nombre de dicho nuevo contacto. Pues bien, ahora sí, en el evento "pause", guardarías por ejemplo el nombre del formulario, así como los datos ya introducidos.

Cuando el usuario volviese de nuevo a la aplicación, esta comprobaría que lo hace desde un "reinicio" (esto ha de comprobarse de alguna forma, por ejemplo, guardando alguna "bandera" en algún sitio cuando la aplicación entra en "background"), y, si es así, buscaría en qué formulario se quedó el usuario y si hay algún dato ya escrito.

De modo que al usuario no le importaría si la aplicación se ha reiniciado o no, simplemente él ve que, cuando vuelve a la aplicación (terminó la llamada de teléfono) se encuentra en el formulario para añadir un contacto y se le muestra el nombre del nuevo contacto que escribió anteriormente, de modo que puede continuar con la tarea.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #2  
Antiguo 25-07-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.054
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por dec Ver Mensaje
Cuando el usuario volviese de nuevo a la aplicación, esta comprobaría que lo hace desde un "reinicio" (esto ha de comprobarse de alguna forma, por ejemplo, guardando alguna "bandera" en algún sitio cuando la aplicación entra en "background"), y, si es así, buscaría en qué formulario se quedó el usuario y si hay algún dato ya escrito.
Tras "reiniciar" (activity resume), pasa después a "activity create", pero con la "variable global" firstime que ahora tendrá valor false.

Responder Con Cita
  #3  
Antiguo 25-07-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Hola Casimiro. Gracias otra vez.

Habrás podido comprobar que estaba escribiendo cuando me has respondido.

Ya me contarás cómo puedo implementar lo que me propones. Porque yo sólo... creo que no.

Un saludo.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #4  
Antiguo 25-07-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Bueno, Casimiro.

Los "cuadrados superpuestos" son una representación de dos ventanas en cascada, creo que lo he comentado antes. Hablo de los terminales Samsung que son los que yo uso. En la foto puedes ver los sensores a los que me refiero.

Los de la foto de arriba son de un Motorola, que están dentro de la pantalla del terminal y al que me refiero es el cuadrado de la derecha, que hace la misma función que los dos cuadraditos que aparecen a la izquierda de la foto inferior que corresponde a un terminal Samsung

Saludos.

Sensores.jpg
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)

Última edición por jhonalone fecha: 25-07-2017 a las 22:45:08.
Responder Con Cita
  #5  
Antiguo 25-07-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.054
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ok, está claro.
Responder Con Cita
  #6  
Antiguo 25-07-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Hola.

Tengo que deciros que no he comprobado el problema en el Motorola, pues es de un amigo de mi hijo que estaba casualmente en casa.

Saludos.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #7  
Antiguo 30-07-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Te iba a sugerir que uses el SaveState, que es algo que ya comentaste en el hilo. A ver si este material te puede ayudar
https://community.embarcadero.com/bl...sing-savestate

Por lo que veo te permite grabar el form como un stream, y luego para leerlo hace eso mismo. Es un mecanismo similar a como se lee en tiempo de ejecución el recurso .dfm para recrear el form que vemos en tiempo de diseño
Responder Con Cita
  #8  
Antiguo 30-07-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Hola a todos.

Gracias a Casimiro y a Agustín por vuestro interés.

Casimiro. Me parece muy interesante tu idea. Ya la había estado barajando y buscando información en internet y tengo algunos proyectos en la cabeza. Pero ahora estoy enfrascado en una modificación de seguridad del programa y las tengo aparcadas. No olvidadas ni desechadas.

Agustín. He estado visitando el link que me dejaste y me he descargado el proyecto de prueba. Todavía no lo he probado, por la misma razón. En principio parece interesante, pero sospecho que, como comenté más arriba, el problema de SaveState va a seguir siendo el mismo: puedes salvar la posición del programa, pero lo realmente complicado son los valores que llevan todas las variables globales y que pueden haber sido cambiados. Si no salvas estos valores y los recuperas, el programa se descolocará. Mi programa en concreto, necesita de ésas variables globales para su correcto funcionamiento. Con respecto a usar gafas, las llevo desde los 6 años y tengo 65, (7 dioptrías en un ojo y 8 en el otro). Os lo cuento para que nos vayamos conociendo.

Seguiré peleando... y os contaré. "¡En peores plazas he lidiado...!, " (como dijo aquél).

Saludos cordiales.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)

Última edición por jhonalone fecha: 30-07-2017 a las 22:44:48.
Responder Con Cita
  #9  
Antiguo 30-07-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.054
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Todavía falta mucho para la jubilación
Responder Con Cita
  #10  
Antiguo 30-07-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Jajaja yo tengo caracteristicas similares, pero unos años menos

Bueno, es por eso que siempre decimos que hay que usar lo menos posible variables globales

Lo unico que puedo decirte en ese caso es que tendrias que implementar toda la persistencia de esos valores. Hay algunas cosas que ya estan hechas y podrias utilizar para una implementacion rapida, por ejemplo, podes usar algun framework JSON que ya son varios los que convierten "cualquier clase" a su representacion JSON y luego el camino inverso. Podes empezar por aca o sino en el blog de Neftali
Responder Con Cita
  #11  
Antiguo 31-07-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Todavía falta mucho para la jubilación
¡¡Ésa moral, que no falte!!

Así me gusta.

Miraré lo que propones, Agustín.

Saludos.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
Respuesta



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
Dejar una aplicación siempre en primer plano Kalikatres Desarrollo en Delphi para Android 19 28-11-2015 16:48:47
Buscar Aplicacion en Ejecucion y traerla al frente Enan0 Varios 0 29-09-2012 13:52:25
Aplicación en primer plano jordillussa Varios 4 20-03-2007 19:58:43
Ejecutar aplicacion externa y que este en primer plano Lorenzati API de Windows 11 06-07-2004 18:22:10
Aplicación siempre en primer plano Novás Varios 2 08-03-2004 09:31:09


La franja horaria es GMT +2. Ahora son las 03:08:48.


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