120 votes

Quel est exactement un Contexte en Java?

J'ai Googlé et lisez la documentation de Java, mais je suis un peu confus. Quelqu'un peut-il expliquer ce qu'est un Context est en anglais?

113voto

BalusC Points 498232

En termes de programmation, c'est le plus grand entourant la partie qui peut avoir une quelconque influence sur le comportement de l'actuelle unité de travail. E. g. l'environnement d'exécution utilisé, les variables d'environnement les variables d'instance, les variables locales, de l'état des autres classes, de l'état de l'environnement actuel, et cætera.

Dans certains de l'API de vous voir ce nom dans une interface de classe, par exemple, des Servlet ServletContext, JSF de l' FacesContext, le Printemps de l' ApplicationContext, Android Context, JNDI de l' InitialContext, etc. Ils ont tous fait souvent de la Façade du Motif qui fait abstraction de l'environnement détails de l'utilisateur final n'a pas besoin de connaître à l'abri dans une seule interface/classe.

65voto

CommonsWare Points 402670

Dans Android, Context est la classe de base pour Activity, Service, Application, et de quelques autres choses. Un Context objet est votre porte d'entrée à une grande partie du sous-jacent système Android, y compris les ressources, les services système (par exemple, pour les emplacements et les notifications), et l' Intent bus de message. Depuis vos composants principaux - Activity et Service -- hériter d' Context, vous avez généralement un Context portée de main quand vous en avez besoin.

35voto

Will Hartung Points 57465

Un Contexte correspond à votre environnement. Il représente l'état environnant où vous en êtes dans votre système.

Par exemple, dans la programmation web en Java, vous avez une Demande et une Réponse. Ceux-ci sont passés à la méthode de service d'une Servlet.

Une propriété de la Servlet est le ServletConfig, et à l'intérieur c'est un ServletContext.

Le ServletContext est-à-dire l'servlet sur le Conteneur de Servlet est à l'intérieur.

Ainsi, le ServletContext représente les servlets de l'environnement au sein de son conteneur.

De même, dans Java EE, vous avez EBJContexts que les éléments (comme les beans de session) peuvent accéder à travailler avec leurs contenants.

Ce sont deux exemples de contextes utilisés en Java aujourd'hui.

Edit --

Vous mentionnez Android.

Regardez ici: http://developer.android.com/reference/android/content/Context.html

Vous pouvez voir comment ce Contexte, vous donne toutes sortes d'informations sur l'endroit où l'application Android est déployé et ce qui est disponible.

7voto

Disons simplement, Java contexte de Java native méthodes tous ensemble.

Dans le prochain code Java deux lignes de code doit contexte: // (1) et // (2)

import java.io.*;

public class Runner{
    public static void main(String[] args) throws IOException { // (1)           
        File file = new File("D:/text.txt");
        String text = "";
        BufferedReader reader = new BufferedReader(new FileReader(file));
        String line;
        while ((line = reader.readLine()) != null){ // (2)
            text += line;
        }
        System.out.println(text);
    }
}

(1) les besoins en contexte, en raison est invoquée par Java native méthode private native void java.lang.Thread.start0();

(2) reader.readLine() des besoins de contexte, car invoque Java native méthode public static native void java.lang.System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);

PS.

C'est ce que BalusC est sayed à propos de pattern Façade de manière plus stricte.

0voto

Richard Kettelerij Points 1733

Ce qui l'entoure, et donne un sens à quelque chose d'autre. (source: FOLDOC)

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