Ver Mensaje Individual
  #16  
Antiguo 25-07-2017
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 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