633 votes

Différence entre getContext (), getApplicationContext (), getBaseContext () et "this"

Quelle est la différence entre getContext() , getApplicationContext() , getBaseContext() et " this "? Bien que ce soit une question simple, je suis incapable de comprendre la différence fondamentale entre eux. S'il vous plaît donnez quelques exemples faciles si possible.

589voto

Alexander Lucas Points 10258
  • Vue.getContext(): Retourne le contexte, le point de vue est actuellement en cours d'exécution. Habituellement actuellement en Activité.

  • De l'activité.getcontexteapplication(): Retourne le contexte de l'ensemble de l'application (toutes les Activités sont en cours d'exécution à l'intérieur de d'). Utiliser ce lieu de l'actuel contexte d'Activité si vous avez besoin d'un contexte lié au cycle de vie de l'ensemble de l'application, et pas seulement la l'Activité en cours.

  • ContextWrapper.getBaseContext(): Si vous avez besoin d'accéder à un Contexte dans un autre contexte, vous utilisez un ContextWrapper. L' Contexte visé de l'intérieur que ContextWrapper est accessible via getBaseContext().

39voto

user1153551 Points 3562

getApplicationContext () - Retourne le contexte pour toutes les activités s'exécutant dans l'application.

getBaseContext () - Si vous voulez accéder au contexte à partir d'un autre contexte dans l'application, vous pouvez y accéder.

getContext () - Retourne la vue contextuelle uniquement en cours d'exécution.

28voto

tez Points 805

Context fournit des informations sur les Actvity ou Application aux composants nouvellement créés.

Context pertinent doit être fourni aux composants nouvellement créés (contexte d'application ou contexte d'activité)

Puisque Activity est une sous-classe de Context , on peut utiliser this pour obtenir le contexte de cette activité

1voto

mehmet Points 126

De cette docs

J'ai compris que vous devriez utiliser:

Essayez d'utiliser l'application de contexte au lieu d'une activité de contexte

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X