Android – Crear una clase Application

android

Cuando empezamos a programar en Android, la primer problemática con la que nos enfrentamos es cómo pasar datos entre activities. Aprendemos que existen en los Intents los llamados Bundles y podemos transportarlos cada vez que llamamos a startActivity, osea cuando iniciamos una actividad nueva. Esto resulta muy bonito cuando tenemos unas tres o cuatro activities, pero cuando ya contamos con 30, la cosa se complica.

Entonces empezamos a ver persistencia de datos, y descubrimos local storage. Ahora podemos almacenar datos en archivos que van a ir en los directorios internos asignados para nuestra aplicación. Vemos cosas como SharedPreferences. Pero esto es demasiado. Nosotros necesitamos datos que perduren mientras la aplicación esta viva. Datos que arranquen y mueran con ella. Para esto está Application. Pero la clase Application en si es de Android y no la podemos modificar. Pero lo que si podemos hacer es extenderla y crear nuestro propio Application. Esto nos va a permitir llevarnos datos de un lado a otro sin usar Intents ni preferencias; simplemente con llamar a nuestro Application.

Una utilidad importante que encontré usando Application, es que al pasar datos entre activities por los Intents, si queremos mandar modelos de datos enteros se nos complica teniendo que hacerlos parceables, por lo que de esta manera es mucho mas rápido.

Entonces manos a la obra! Creemos nuestra clase:

Pero esto no alcanza para que nuestra clase funcione, también debemos incluirla en el manifiesto:

Como pueden notarlo, no se incluye como una activity porque no lo es. Es un componente de Android y el más importante. Nuestro MyApplication va a ser lo primero que se inicie cuando arranque la aplicación, incluso antes de la primer activity en launcher.

Ahora bien, supongamos que tenemos un id de usuario que vamos a persistir en toda la app. Primero creamos el atributo en nuestra clase:

Cuando arranque la app, queremos que este nuevo atributo tenga un valor asignado, entonces tal como el ciclo de vida de la activity tiene el método onCreate, también lo tiene nuestra clase:

Ahora, si queremos obtener este valor en algun punto de la aplicacion, solo tenemos que hacer lo siguiente:

Con esto, ya podemos usar nuestro application sin problemas. Pero no olviden que una vez muera la app, todos los datos de nuestro application se limpian dado que solo tiene persistencia mientras la app se mantiene viva.

Be the first to comment on "Android – Crear una clase Application"

Leave a comment

Your email address will not be published.


*