2010-10-26 12 views
6

Creé una biblioteca que uso en mi aplicación. Quiero que acceda a algunas configuraciones que están almacenadas en las preferencias compartidas.Android: uso de SharedPreferences en una biblioteca

Ésta es una versión reducida de mi 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; 
    } 
} 

He estado buscando una respuesta y la experimentación, pero no puedo encontrar un contexto válido para pasar a getDefaultSharedPreferences(). ¿Algunas ideas?

Respuesta

3

La manera más fácil sería incluir el contexto como un parámetro de su constructor Lib y pasar el contexto de la aplicación desde el punto donde se creó Lib.

Si busca una forma estática de cómo hacerlo echar un vistazo a esto: Accessing SharedPreferences through static methods

Pero en mi humilde opinión la primera solución sería la mejor.

Cuestiones relacionadas