2012-03-02 5 views
0

Je googlé pour une API et des exemples d'utilisation de SharedPreferences et je suis ce genre d'un extrait:questions Android SharedPreferences api

SharedPreferences prefs = this.getSharedPreferences(
          "com.example.app", Context.MODE_PRIVATE); 

Quand je mets dans mon code, je suis une erreur de compilation que getSharedPreferences est pas une activité définie pour DownloadWebPageTask

Toute idée où je fais une erreur de tête d'os ici et comment je devrais réellement utiliser SharedPreferences pour avoir accès à ce fichier enregistré sur le système?

Merci!

+4

À quoi cela se réfère-t-il? Je suppose que vous mettez le code sous une classe appelée 'DownloadWebPageTask', alors' this' pointera vers cette classe plutôt que vers 'YourActivity'. Si c'est le cas, vous devez utiliser 'YourActivity.this' à la place pour obtenir l'instance Activity. –

Répondre

2

Sauf si vous avez besoin de différents ensembles de préférences dans la même application (peu probable) je vous suggère d'utiliser

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 

(this doit être un Context bien sûr, par exemple un Activity ou votre Application)

2

La méthode getSharedPreferences est une méthode publique de la classe Context. Vous devez utiliser une instance de contexte, vous pouvez la transmettre lors de la création d'une instance de DownloadWebPageTask.