8 Stimmen

Android: Verwendung von SharedPreferences in einer Bibliothek

Ich habe eine Bibliothek, die ich über meine app verwenden. Ich möchte, dass sie auf einige Einstellungen zugreift, die in den gemeinsamen Einstellungen gespeichert sind.

Dies ist eine gekürzte Version meiner Bibliothek:

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;
    }
}

Ich habe nach einer Antwort gesucht und experimentiert, aber ich kann keinen gültigen Kontext finden, den ich an getDefaultSharedPreferences() übergeben kann. Irgendeine Idee?

3voto

mreichelt Punkte 12129

Am einfachsten wäre es, den Kontext als Parameter in den Lib-Konstruktor aufzunehmen und den Anwendungskontext bereits bei der Erstellung der Lib zu übergeben.

Wenn Sie nach einer statischen Methode suchen, sehen Sie sich dies an: Zugriff auf SharedPreferences über statische Methoden

Aber IMHO wäre die erste Lösung die beste.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X