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 的位置传递应用程序上下文。

如果您搜索如何做到这一点的静态方式,请查看:Accessing SharedPreferences through static methods

但恕我直言,第一个解决方案将是最好的。

于 2010-10-26T17:25:48.187 回答