Gestion de eventos en una aplicación




Resultado de imagen de cerrar una app en android



Cuando programamos una app, necesitamos gestionar diferentes eventos que suceden durante su ejecución.


Por ejemplo, si la memoria del dispositivo es baja, tendríamos que avisar al usuario y posteriormente cerrar la app (en el caso de que tengamos una base de datos abierta, para evitar el cierre inesperado de la misma)


Otro suceso que necesitamos conocer, es saber cuando nuestra app se ejecuta en background, ya que si esto sucede y estamos utilizando el GPS, éste último dejaría de actualizar las coordenadas.


También nos interesa saber cuando el usuario cierra la app, ya que deberíamos cerrar en ese momento las bases de datos abiertas.


Para solucionar este tema Delphi nos ofrece una serie de procedimientos para controlarlo, que están en la unit FMX.Platform.TApplicationEvent.





TApplicationEvent = (FinishedLaunching, BecameActive, WillBecomeInactive, EnteredBackground, WillBecomeForeground, WillTerminate, LowMemory, TimeChange, OpenURL);





Para utilizarlo creamos en primer lugar una variable global llamada AppEventSvc



var

  AppEventSvc: IFMXApplicationEventService;



En el oncreate del Form escribimos lo siguiente:

 

  if TPlatformServices.Current.SupportsPlatformService(IFMXApplicationEventService, IInterface(AppEventSvc)) then

    AppEventSvc.SetApplicationEventHandler(AppEvent);





y a continuación escribimos el procedimiento que va a manejar los eventos:



function TForm1.AppEvent(AAppEvent: TApplicationEvent; AContext: TObject): Boolean;

begin

  Result := True;

  case AAppEvent of

    TApplicationEvent.WillBecomeInactive:
//procedimiento que se ejecuta cuando la app este inactiva
      ;
    TApplicationEvent.EnteredBackground:

    //procedimiento que se ejecuta cuando la app se ejecute en background     ;
    TApplicationEvent.WillTerminate:

 //procedimiento que se ejecuta cuando la app se va a cerrar      ;
  end;
end;



 

Tienen mas información el el docwiki de Embarcadero

No hay comentarios:

Publicar un comentario

Simulación del movimiento de los electrones en un campo electrico

Espectacular simulación realizada con OpenGL del movimiento de los electrones cuando atraviesan un campo eléctrico. Como muestra la image...