I Ho cercato su Google e ho letto la documentazione di Java, ma sono un po 'confuso. Qualcuno può spiegare che cos'è un Context
in inglese normale?Che cosa è esattamente un contesto in Java?
risposta
In termini di programmazione, è la parte circostante più grande che può avere qualsiasi influenza sul comportamento dell'unità di lavoro corrente. Per esempio. l'ambiente di esecuzione utilizzato, le variabili di ambiente, le variabili di istanza, le variabili locali, lo stato di altre classi, lo stato dell'ambiente corrente, ecc.
In alcune API si vede questo nome in un'interfaccia/classe, ad es. Servlet's FacesContext
, JSF's , di Spring, Android InitialContext
, ecc. Tutti seguono spesso lo Facade Pattern che astrae i dettagli ambientali di cui l'utente non ha bisogno di sapere in una singola interfaccia/classe.
Come è utile? Puoi darmi un esempio in Android? –
Il collegamento "Modello facciata" rimanda a un articolo di Wikipedia che contiene un utile esempio di "Computer". Aiuta? Almeno si riduce che gestisce e controlla le parti interne dell'intero dispositivo (CPU/HDD/RAM/GPU/etc) senza che l'utente finale debba preoccuparsi. In caso di Android, come per Javadoc collegato * "Consente l'accesso a risorse e classi specifiche dell'applicazione, nonché up-call per operazioni a livello di applicazione come attività di lancio, trasmissione e ricezione di intenti, ecc." * – BalusC
The Il principale vantaggio è che non è necessario fare tutto il modo "di basso livello". Il contesto si prenderà cura di questo. – BalusC
dal momento che hai messo in maiuscolo la parola, presumo che ti riferisci all'interfaccia javax.naming.Context
. Alcune classi implementano questa interfaccia e, nella sua descrizione più semplice, (genericamente) è un insieme di coppie nome/oggetto.
Un contesto rappresenta il vostro ambiente. Rappresenta lo stato intorno al quale ti trovi nel tuo sistema.
Ad esempio, nella programmazione Web in Java, si dispone di una richiesta e una risposta. Questi sono passati al metodo di servizio di un Servlet.
Una proprietà del Servlet è ServletConfig e al suo interno è un ServletContext.
ServletContext viene utilizzato per comunicare al servlet il contenitore in cui si trova il servlet.
Quindi, ServletContext rappresenta l'ambiente servlet all'interno del relativo contenitore.
Analogamente, in Java EE, si ha EBJContexts che gli elementi (come i bean di sessione) possono accedere per lavorare con i loro contenitori.
Questi sono due esempi di contesti utilizzati oggi in Java.
Modifica -
Si parla di Android.
un'occhiata qui: http://developer.android.com/reference/android/content/Context.html
si può vedere come questo contesto vi offre tutti i tipi di informazioni su dove l'applicazione Android è distribuito e ciò che è a sua disposizione.
In Android, Context
è la classe base per Activity
, Service
, Application
e alcune altre cose. Un oggetto Context
rappresenta il gateway per gran parte del sistema Android sottostante, incluse risorse, servizi di sistema (ad esempio, per posizioni e notifiche) e il bus dei messaggi Intent
. Dato che i tuoi componenti principali - Activity
e Service
- ereditano da Context
, di solito hai un Context
a portata di mano quando ti serve.
Questa è la risposta che si applica specificamente ad Android – Falmarri
per Android, Context è un'interfaccia per le informazioni globali su un ambiente applicativo. Questa è una classe astratta la cui implementazione è fornita dal sistema Android. Permette l'accesso a risorse e classi specifiche dell'applicazione, nonché up-call per operazioni a livello di applicazione come attività di lancio, trasmissione e ricezione di intenti, ecc. –
Semplicemente dicendo, contesto Java significa Java native
metodi tutti insieme.
Nella seguente codice Java due linee di codice deve contesto: // (1)
e // (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) deve contesto perché viene richiamato da Java metodo nativoprivate native void java.lang.Thread.start0();
(2) reader.readLine()
necessita contesto perché invoca il metodo nativo Javapublic static native void java.lang.System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
PS .
Questo è ciò che BalusC dice in modo più rigoroso sulla facciata del modello.
- 1. Che cosa è esattamente Java?
- 2. Che cosa è esattamente il contesto del thread in C#?
- 3. Che cosa è esattamente Rake?
- 4. Che cosa è esattamente OData?
- 5. Che cosa è esattamente Werkzeug?
- 6. Che cosa è esattamente un attacco arcobaleno?
- 7. Che cosa è esattamente cacert.pem?
- 8. Che cosa è Container.DataItem esattamente?
- 9. Che cosa è esattamente "bigint" in F #?
- 10. Che cosa è esattamente `&: capitalize` in Ruby?
- 11. Che cosa è esattamente "uscita" in PowerShell?
- 12. Che cosa influenza esattamente URLConnection.setDoOutput()?
- 13. Che cosa è esattamente un nodo in node.js?
- 14. Che cosa è esattamente l'info_Hash in un file torrent
- 15. Che cosa è esattamente contenuto in un obj .__ closure__?
- 16. Che cosa è esattamente un simbolo in lisp/schema?
- 17. Che cosa è esattamente l'ascolto della porta
- 18. Che cosa è esattamente un'espressione ID?
- 19. Che cosa è esattamente Kafka Rebalancing?
- 20. Che cosa fa esattamente `-rdynamic` e quando è esattamente necessario?
- 21. Che cosa è esattamente init coder aDecoder?
- 22. Che cosa è esattamente un'entità HTTP?
- 23. Che cosa è un callback in java
- 24. Che cosa è esattamente un hash per quanto riguarda JSON?
- 25. Che cosa include esattamente currentDesign.writeCssincludes?
- 26. Che cosa è "PermSize" in Java?
- 27. Che cosa significa esattamente una "connessione persistente"?
- 28. Che cosa fa GenerateEmailConfirmationToken() esattamente?
- 29. Che cosa è esattamente CDATA e cosa fa?
- 30. Che cosa fa esattamente OwinBrowser?
Bene, il significato del contesto può cambiare a seconda ... del contesto. –
In quale contesto? Scherzi a parte - (non è uno scherzo) –
@Colin è un secondo più divertente di me. –