8

アプリ全体で使用するライブラリを作成しました。共有設定に保存されているいくつかの設定にアクセスしたい。

これは私のライブラリの短縮版です:

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

答えを探して実験してきましたが、getDefaultSharedPreferences() に渡す有効なコンテキストが見つかりません。何か案は?

4

1 に答える 1

3

最も簡単な方法は、Lib コンストラクターのパラメーターとしてコンテキストを含め、Lib が作成された時点からアプリケーション コンテキストを渡すことです。

それを行う方法の静的な方法を検索する場合は、これを見てください:静的​​メソッドを介して SharedPreferences にアクセスする

しかし、私見では最初の解決策が最適です。

于 2010-10-26T17:25:48.187 に答える