2010-10-26 17 views
6

Ho creato una libreria che utilizzo attraverso la mia app. Voglio che acceda ad alcune impostazioni che sono memorizzate nelle preferenze condivise.Android: utilizzo di SharedPreferences in una libreria

Questa è una versione ridotta della mia biblioteca:

package com.android.foobar; 

import android.content.SharedPreferences; 
import android.preference.PreferenceManager; 

public class Lib { 
    int now; 

    public Lib() { 
     SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this); 
     now = settings.getInt("now", 435); 
    } 

    public int foo(){ 
     return now; 
    } 
} 

Ho cercato una risposta e la sperimentazione, ma non riesco a trovare un contesto valida da passare al getDefaultSharedPreferences(). Qualche idea?

risposta

3

Il modo più semplice sarebbe quello di includere il contesto come parametro del costruttore di Lib e passare il contesto dell'applicazione dal punto in cui viene creato il Lib.

Se si cerca un modo statico di come farlo di dare un'occhiata a questo: Accessing SharedPreferences through static methods

Ma secondo me la prima soluzione sarebbe la migliore.

Problemi correlati