Como se ha visto anteriormente, lo más importante de las clases del SDK de Android, es el ciclo de vida. Muchos errores de programación Android son debidos a un descuido en el ciclo de vida tanto de actividades como de fragmentos, servicios y otros componentes del sistema operativo.
Estos componentes tienen lo que se denomina un contexto, que es una especie de identificador del recurso. De hecho, una clase Activity hereda de la clase Context a través de una larga cadena de subclases.
En palabras más precisas, Context se considera una clase abstracta que nosotros como desarrolladores, directamente, no podemos crear, debido a que es uno de los objetos que crea el propio sistema como, por ejemplo, sucede con los Activities. Muchos de los componentes que se suelen utilizar en el desarrollo de una app Android son heredados de clases context.
La clase context se utiliza para la obtención de recursos específicos de la aplicación; no obstante, es oportuno resaltar que existen diferentes tipos de lo qué es context en Android. Estos tipos son:
- Application.
- Activity.
- Service.
- BroadCastReciver.
- ContentProvider.
Cada uno de estos objetos tiene una información diferente de modo que, dependiendo de cuándo o dónde lo vayamos a utilizar, nos va a dar una información u otra.
Por ejemplo, si quieres implementar un context para conocer si el dispositivo se encuentra en posición vertical o en posición horizontal, llamas al context del activity y obtienes dicha información, mientras que en el context application no puedes acceder a ella.