Variables globales en Android

Vale, estás haciendo un programa Android y a veces te interesa tener variables globales, accesibles desde cualquier Activity. Una forma muy sencilla de hacerlo es crear una clase que extienda de Application. Con esta clase, podrás almacenar cualquier cosa, desde variables básicas hasta objetos completos, lo que resulta muy práctico. Crea un fichero que contenga una clase tal que así:

public class ClaseGlobal extends Application {
       private final static int versiondb=1;
       private int posicionlistview;
       private int toplistview;
       private FichaPaciente paciente;
       private FichaEnvin envin;

       public void ponPaciente(FichaPaciente p) {
                paciente=p;
       }
       public FichaPaciente dimePaciente() {
                return paciente;
       }
       // etc...
}

Para simplificar, solo he puesto los métodos para meter y extraer un objeto de clase FichaPaciente, pero sería lo mismo para objetos de otra clase o variables básicas.

Para poder utilizar la clase ClaseGlobal sólo tendríamos que instanciarla en cualquier Activity. No se instancia de la forma normal, teniendo en cuenta que funcionará un poco a lo Singleton, es decir, siempre se instanciará el mismo objeto de forma global.

ClaseGlobal global=(ClaseGlobal) getActivity().getApplicationContext();
global.ponPaciente(paciente);

Y ya.

Be Sociable, Share!

Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio.

Deja un comentario

Disculpa, debes iniciar sesión para escribir un comentario.