QNA > C > Cosa Si Intende Per Contesto In Android (In Parole Semplici) E Contextwrapper?

Cosa si intende per contesto in Android (in parole semplici) e ContextWrapper?

Pradhan Rishi Sharma's answer to Cos'è un contesto in Java?

Solo per darvi un'analogia in termini non programmatori, pensatela così: state facendo un sogno e vi svegliate da esso con uno scatto ipnico. L'immediato cambiamento di ambiente per il vostro cervello può essere definito come cambio di contesto. Lo stato in cui il vostro cervello sta attualmente funzionando (sogno o realtà) è un contesto.

Ora nella programmazione android il contesto è lo stato attuale dell'applicazione/oggetto. Permette agli oggetti appena creati di capire cosa sta succedendo. Tipicamente lo chiami per ottenere informazioni riguardanti un'altra parte del tuo programma (attività e pacchetto/applicazione).

Diversi metodi di invocazione con cui puoi ottenere il contesto

1. getApplicationContext(),

2. getContext(),

3. getBaseContext()

4. o questo (quando nella classe activity).

Ora che avete capito il contesto, passiamo a ContextWrapper, come direttamente dal sito degli sviluppatori di Android "Implementazione proxy del Context che delega semplicemente tutte le sue chiamate ad un altro Context. Può essere sottoclassato per modificare il comportamento senza cambiare il contesto originale."

La differenza tra Context e ContextWrapper può essere compresa guardando i valori di ritorno di questi diversi metodi

  1. View.getContext(): Restituisce il contesto in cui la vista è attualmente in esecuzione. Di solito l'attività attualmente attiva. 
  2.  
  3. Activity.getApplicationContext(): Restituisce il contesto dell'intera applicazione (il processo in cui tutte le attività sono in esecuzione). Usatelo al posto del contesto dell'attività corrente se avete bisogno di un contesto legato al ciclo di vita dell'intera applicazione, non solo all'attività corrente. 
  4.  
  5. ContextWrapper.getBaseContext(): Se si ha bisogno di accedere a un Context dall'interno di un altro contesto, si usa un ContextWrapper. The Context referred to from inside that ContextWrapper is accessed via getBaseContext(). 
  6.  
  7. this : Returns the context the view (I hope you know about view, if not refer view first). Usually the currently active Activity. 

Hope this helps.

Di Perron Malocha

Quali sono alcuni siti web cinesi simili a eBay? :: Dove posso ottenere carte regalo Google play gratis senza alcun sondaggio e download?
Link utili