tipos ¿Qué es 'Context' en Android?




tipos de contexto en android (24)

Este atributo declara a qué actividad está asociada esta disposición de forma predeterminada .

En la programación de Android, ¿qué es exactamente una clase de Context y para qué se utiliza?

Lo leí en el sitio del desarrollador , pero no puedo entenderlo claramente.


Es una clase abstracta cuya implementación es proporcionada por el sistema Android. Context permite el acceso a clases y recursos específicos de la aplicación, así como llamadas para operaciones a nivel de la aplicación, tales como actividades de lanzamiento, difusión y recepción de intentos, etc.


El contexto es la api específica de Android para cada Sandbox aplicaciones que proporciona acceso a datos privados de aplicaciones como recursos, bases de datos, directorios privados, preferencias, configuraciones ...

La mayoría de los datos privados son los mismos para todas las actividades / servicios / broadcastlisteners de una aplicación.

Desde Aplicación, Actividad, Servicio, implemente la interfaz de contexto, se pueden usar cuando una llamada a la API necesita un parámetro de contexto


El contexto es el contexto del estado actual de la aplicación / objeto. Es una entidad que representa diversos datos del entorno. El contexto ayuda a la actividad actual a interactuar con el entorno externo de Android, como archivos locales, bases de datos, cargadores de clases asociados al entorno, servicios que incluyen servicios a nivel del sistema y más.

Un contexto es un identificador para el sistema. Proporciona servicios como resolver recursos, obtener acceso a bases de datos y preferencias, etc. Una aplicación de Android tiene actividades. Es como un identificador del entorno en el que se está ejecutando actualmente su aplicación. El objeto de actividad hereda el objeto de contexto.

Diferentes métodos de invocación mediante los cuales puede obtener el contexto 1. getApplicationContext (), 2. getContext (), 3. getBaseContext () 4. o esto (cuando está en la clase de actividad).


Un Context es lo que la mayoría de nosotros llamaríamos aplicación . Está hecho por el sistema Android y es capaz de hacer solo lo que una aplicación puede hacer. En Tomcat, un contexto es también lo que yo llamaría una aplicación.

Hay un contexto que contiene muchas actividades, cada actividad puede tener muchas vistas.

Obviamente, algunos dirán que no encaja debido a esto o aquello y probablemente tienen razón, pero decir que un Contexto es su aplicación actual lo ayudará a comprender qué está poniendo en los parámetros del método.


El contexto es una interfaz para la información global sobre un entorno de aplicación. Es una clase abstracta cuya implementación es proporcionada por el sistema Android .

Context permite el acceso a clases y recursos específicos de la aplicación, así como llamadas para operaciones a nivel de la aplicación, tales como launching activities, broadcasting and receiving intents, etc.

Aquí está el ejemplo

 public class MyActivity extends Activity {

      public void Testing() {

      Context actContext = this; /*returns the Activity Context since   Activity extends Context.*/

      Context appContext = getApplicationContext();    /*returns the context of the single, global Application object of the current process. */

      Button BtnShowAct1 = (Button) findViewById(R.id.btnGoToAct1);
      Context BtnContext = BtnShowAct1.getContext();   /*returns the context of the View. */

Para obtener más detalles, puede visitar Context


En pocas palabras, el Context Android es un lío que no amarás hasta que dejes de preocuparte.

Los Context Android son:

  • Dios-objetos.

  • Cosa que desea pasar por todas sus aplicaciones cuando está empezando a desarrollar para Android, pero evitará hacerlo cuando esté un poco más cerca de la programación, las pruebas y el propio Android.

    • Dependencia poco clara.

    • Fuente común de fugas de memoria.

    • PITA para pruebas.

  • Contexto real utilizado por el sistema Android para enviar permisos, recursos, preferencias, servicios, difusiones, estilos, mostrar cuadros de diálogo e inflar el diseño. Y necesita diferentes instancias de Context para algunas cosas separadas (obviamente, no puede mostrar un diálogo desde una aplicación o contexto de servicio; los diseños inflados desde la aplicación y los contextos de actividad pueden ser diferentes).


El contexto es básicamente para el acceso a los recursos y para obtener los detalles del entorno de la aplicación (para el contexto de la aplicación) o la actividad (para el contexto de la actividad) o cualquier otro ...

Para evitar pérdidas de memoria, debe usar el contexto de la aplicación para cada componente que necesite un objeto de contexto ... para más información, haga clic here


El contexto en Android es una interfaz para la información global sobre un entorno de aplicación. Esta es una clase abstracta cuya implementación es proporcionada por el sistema Android. Permite el acceso a clases y recursos específicos de la aplicación, así como llamadas de nivel superior para operaciones a nivel de la aplicación, tales como actividades de lanzamiento, difusión y recepción de intentos, etc.


Contextsignifica corriente Contextutilizar para hacer la operación de la pantalla actual. ex.
1. getApplicationContext ()
2. getContext ()

Toast.makeText(getApplicationContext(), "hello", Toast.LENGTH_SHORT).show();

Solo lo pongo ahí para novatos;

Así que primero entiende el contexto de la palabra:

En inglés-lib. significa:

"Las circunstancias que conforman el escenario para un evento, declaración o idea, y en términos de los cuales se puede entender y evaluar completamente".

"Las partes de algo escrito o hablado que preceden y siguen inmediatamente una palabra o pasaje y aclaran su significado".

Ahora toma el mismo entendimiento al mundo de la programación:

Contexto del estado actual de la aplicación / objeto. Permite que los objetos recién creados entiendan lo que ha estado pasando. Normalmente lo llama para obtener información sobre otra parte de su programa (actividad, paquete / aplicación)

Puede obtener el contexto invocando getApplicationContext() , getContext(), getBaseContext() o this (cuando getContext(), getBaseContext() en la clase de actividad).

Para obtener Context Anywhere en la aplicación, utilice el siguiente código:

Crea una nueva clase AppContext dentro de tu aplicación de Android

public class AppContext extends Application {

    private static Context context;

    public void onCreate(){
        super.onCreate();
        AppContext.context = getApplicationContext();
    }

    public static Context getAppContext() {
        return AppContext.context;
    }
}

Ahora, cada vez que desee un contexto de aplicación en una clase sin actividad, llame a este método y tendrá un contexto de aplicación.

Espero que esto ayude ;)


Piense en ello como la máquina virtual que ha siledeado el proceso en el que se está ejecutando la aplicación. El entorno siled tiene acceso a un montón de información del sistema subyacente y ciertos recursos permitidos. Necesitas ese contexto para llegar a esos servicios.


Un Context Android es una Interface (en el sentido general, no en el sentido de Java; en Java, ¡El Context es en realidad una clase abstracta!) Que permite el acceso a recursos y clases específicos de la aplicación e información sobre el entorno de la aplicación.

Si su aplicación de Android fuera una aplicación web, su contexto sería algo similar a ServletContext (no estoy haciendo una comparación exacta aquí).

Sus actividades y servicios también extienden Context , por lo que heredan todos esos métodos para acceder a la información del entorno en el que se ejecuta la aplicación.


El contexto es Instancias de la clase android.content.Context proporcionan la conexión al sistema Android que ejecuta la aplicación. Por ejemplo, puede verificar el tamaño de la pantalla del dispositivo actual a través del contexto.

También da acceso a los recursos del proyecto. Es la interfaz para la información global sobre el entorno de la aplicación.

La clase de contexto también proporciona acceso a los servicios de Android, por ejemplo, el administrador de alarmas para activar eventos basados ​​en el tiempo.

Actividades y servicios amplían la clase de contexto. Por lo tanto, se pueden utilizar directamente para acceder al contexto.


Un contexto es un identificador para el sistema; proporciona servicios como resolver recursos, obtener acceso a bases de datos y preferencias, etc. Una aplicación de Android tiene actividades. El contexto es como un identificador del entorno en el que se está ejecutando actualmente la aplicación. El objeto de actividad hereda el objeto de contexto.

Para obtener más información, consulte Introducción al desarrollo de Android con Android Studio - Tutorial .


Context es una "interfaz" con la información global sobre un entorno de aplicación. En la práctica, Context es en realidad una clase abstracta , cuya implementación es proporcionada por el sistema Android.

Permite el acceso a clases y recursos específicos de la aplicación, así como llamadas de nivel superior para operaciones a nivel de la aplicación, como actividades de lanzamiento, difusión y recepción de intentos, etc.

En la siguiente imagen, puede ver una jerarquía de clases, donde Context es la clase raíz de esta jerarquía. En particular, vale la pena enfatizar que la Activity es un descendiente del Context .


Analogía Asistente De Jefe

Tengamos una pequeña analogía antes de profundizar en la tecnicidad del contexto.

Cada jefe tiene un asistente o alguien (chico de recados) que hace cosas menos importantes y que consumen más tiempo para él. Por ejemplo, si necesitan un archivo o un café, entonces un asistente se ejecutará. El jefe no sabrá lo que sucede en segundo plano, pero el archivo o la tarea se entregarán

Asi que aqui
Boss - Aplicación de Android
Asistente - Contexto
Archivo o taza de café - Recurso

Lo que dice el sitio oficial de desarrolladores de Android sobre Context

El contexto es su punto de acceso para recursos relacionados con la aplicación.

Veamos algunos de tales recursos o tareas.

  • Lanzar una actividad.

  • Obtención de una ruta absoluta al directorio de caché específico de la aplicación en el sistema de archivos.

  • Determinar si se permite el permiso dado para un proceso particular y una ID de usuario que se ejecutan en el sistema.

  • Comprobando si se le ha concedido un permiso en particular.

Y así.
Entonces, si una aplicación de Android desea iniciar una actividad, va directamente a Context (Access Point), y la clase Context le devuelve los recursos (Intención en este caso).

Como cualquier otra clase, la clase de Context también tiene campos y métodos.
Puede explorar más sobre el Context en la documentación oficial, cubre casi todo, los métodos disponibles, los campos e incluso cómo utilizar los campos con los métodos.


Interfaz con información global sobre un entorno de aplicación. Esta es una clase abstracta cuya implementación es proporcionada por el sistema Android. Permite el acceso a clases y recursos específicos de la aplicación, así como llamadas de nivel superior para operaciones a nivel de la aplicación, tales como actividades de lanzamiento, difusión y recepción de intentos, etc.


  • El contexto representa un identificador para obtener datos del entorno.
  • La propia clase de contexto se declara como abstracta, cuya implementación es proporcionada por el sistema operativo Android.
  • El contexto es como el control remoto de un televisor y los canales en la televisión son recursos, servicios, etc.

Qué puedes hacer con eso ?

  • Cargando recurso
  • Lanzamiento de una nueva actividad.
  • Creando vistas.
  • Obtención de servicio de sistema.

Formas de obtener contexto:

  • getApplicationContext()
  • getContext()
  • getBaseContext()

El contexto es una referencia al objeto actual como este. También el contexto permite acceder a información sobre el entorno de la aplicación.


Definición de contexto

  • El contexto representa datos del entorno
  • Proporciona acceso a cosas como bases de datos.

Términos más simples (ejemplo 1)

  • Considere que Person-X es el CEO de una empresa de software de inicio.

  • Hay un arquitecto principal presente en la empresa, este arquitecto principal hace todo el trabajo en la empresa que involucra, como base de datos, IU, etc.

  • Ahora el CEO contrata a un nuevo desarrollador.

  • Es el Arquitecto quien le dice a la responsabilidad de la persona recién contratada según las habilidades de la nueva persona si trabajará en la Base de datos o en la IU, etc.

Términos más simples (ejemplo 2)

  • Es como el acceso de la actividad de Android al recurso de la aplicación.

  • Es similar a cuando visitas un hotel, quieres el desayuno, el almuerzo y la cena en los horarios adecuados, ¿no?

  • Hay muchas otras cosas que te gustan durante el tiempo de estancia. ¿Cómo consigues estas cosas?

  • Le pides a la persona del servicio de habitaciones que traiga estas cosas para ti.

  • Aquí, la persona encargada del servicio de habitaciones es el contexto, considerando que usted es la única actividad y el hotel para ser su aplicación; finalmente, el desayuno, el almuerzo y la cena tienen que ser los recursos.

Las cosas que involucran contexto son:

  1. Cargando un recurso.
  2. Lanzamiento de una nueva actividad.
  3. Creando vistas.
  4. Obtención de servicio de sistema.

El contexto es la clase base para Actividad , Servicio , Aplicación , etc.

Otra forma de describir esto: considere el contexto como remoto de un televisor y los canales en la televisión son recursos, servicios, uso de intenciones, etc. - Aquí, el remoto actúa como un acceso para obtener acceso a todos los recursos diferentes en primer plano.

  • Entonces, Remote tiene acceso a canales como recursos, servicios, uso de intenciones, etc.

  • Del mismo modo ... Quien tenga acceso a remoto, naturalmente, tiene acceso a todas las cosas tales como recursos, servicios, uso de intenciones, etc.

Diferentes métodos por los cuales puedes obtener contexto.

  • getApplicationContext()
  • getContext()
  • getBaseContext()
  • o this (cuando en la clase de actividad)

Ejemplo:

TextView TV=new TextView(this);

this -> se refiere al contexto de la actividad actual.


¿Qué es exactamente el Context ?

Según la documentación de referencia de Android, es una entidad que representa diversos datos del entorno. Proporciona acceso a archivos locales, bases de datos, cargadores de clases asociados al entorno, servicios (incluidos servicios a nivel del sistema) y más. A lo largo de este libro, y en su codificación diaria con Android, verá el Contexto transmitido con frecuencia.

Del libro " Android en la práctica ", pág. 60.

Varias API de Android requieren un Context como parámetro

Si observa las distintas API de Android, observará que muchas de ellas toman un objeto android.content.Context como parámetro. También verá que una Actividad o un Servicio se usa generalmente como un Context . Esto funciona porque ambas clases se extienden desde el Context .


Ejemplo simple para entender el context en Android:

Cada jefe tiene un asistente que cuidar, para hacer todas las tareas menos importantes y que consumen más tiempo. Si se necesita una lima o una taza de café, el asistente está huyendo. Algunos jefes apenas saben lo que está pasando en la oficina, por lo que también les preguntan a sus asistentes sobre esto. Ellos hacen algún trabajo ellos mismos, pero para la mayoría de las otras cosas necesitan la ayuda de sus asistentes.

En este escenario,

Boss - es la aplicación de Android

Asistente - es contexto

Archivos / Taza de café - son recursos

Generalmente llamamos contexto cuando necesitamos obtener información sobre diferentes partes de nuestra aplicación, como Actividades, Aplicaciones, etc.

Algunas operaciones (cosas donde se necesita asistente) donde se involucra el contexto:

Carga de recursos comunes Creación de vistas dinámicas Visualización de mensajes de Toast Actividades de lanzamiento, etc. Diferentes formas de obtener contexto:

getContext()

getBaseContext()

getApplicationContext()

this

Contexto significa que Android puede saber en qué actividad debo ir o actuar.

1 - Toast.makeText (contexto, "Ingresar todos los detalles", Toast.LENGTH_SHORT) .show (); Se utiliza en esto. Contexto de contexto = nombre de actividad.este;

2 -startActivity (new Intent (context, LoginActivity.class));

en este contexto significa desde qué actividad quieres ir a otra actividad. context o ActivityName.this es más rápido que getContext y getApplicatinContext.





android-context