Autore Topic: Context  (Letto 934 volte)

Offline ginoz

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows
Context
« il: 15 Febbraio 2011, 11:44:52 CET »
0
Allora, ho una abstract class che crea l'oggetto
Codice: [Seleziona]
mDbHelper = new HtdlDbAdapter(ctx);naturalmente deve passare un context al DB.

Se uso this mi da errore, perché l'abstract class non ha un context giusto?

Ho letto che si può usare il context dell'applicazione usando
Codice: [Seleziona]
Context ctx= getApplicationContext();però Eclipse me lo segnala errore dicendo "The method getApplicationContext() is undefined for the type NomeClasse".

Perché mi dà questo errore e come si può risolvere?

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Context
« Risposta #1 il: 15 Febbraio 2011, 12:07:46 CET »
0
getApplicationContext() è disponibile per tutte le classi che estendono Activity....
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline ginoz

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows
Re:Context
« Risposta #2 il: 15 Febbraio 2011, 12:11:36 CET »
0
Citazione
getApplicationContext() è disponibile per tutte le classi che estendono Activity....


ok, però la mia classe non è una activity, devo comunque estendere Activity per poter avere un context da utilizzare?

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Context
« Risposta #3 il: 15 Febbraio 2011, 12:27:53 CET »
0
beh, si....
l'alternativa è passarlo come parametro alla tua classe.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline ginoz

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows
Re:Context
« Risposta #4 il: 15 Febbraio 2011, 15:36:49 CET »
0
infatti stavo pensando a questa alternativa.

ma da un punto di vista di programmazione e di prestazioni è meglio che l'activity che crea l'oggetto e chiama il metodo passi il proprio context come parametro o è meglio usare il context dell'applicazione estendendo Activity?

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Context
« Risposta #5 il: 15 Febbraio 2011, 15:47:06 CET »
0
Dal punto di vista delle prestazioni non credo ci siano grandi differenze, quindi trascurerei la cosa.
Per quanto riguarda l'altro punto di vista, se non ti serve che la tua classe funzioni come una activity, ma ti serve solo il suo context, allora è sicuramente meglio passarlo come parametro. (ti porteresti dietro una serie di cose che non ti servono, di fatto).
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline ginoz

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows
Re:Context
« Risposta #6 il: 15 Febbraio 2011, 16:39:04 CET »
0
ok grazie mille  :-)