Android:在库中使用SharedPreferences

Bla*_*eko 6 java android class sharedpreferences

我创建了一个我在我的应用程序中使用的库.我希望它能够访问存储在共享首选项中的一些设置.

这是我的库的缩短版本:

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

我一直在寻找答案和实验,但我找不到传递给getDefaultSharedPreferences()的有效上下文.有任何想法吗?

mre*_*elt 3

最简单的方法是将上下文作为 Lib 构造函数的参数包含在内,并从创建 Lib 的位置传递应用程序上下文。

如果您搜索如何执行此操作的静态方法,请查看以下内容:通过静态方法访问 SharedPreferences

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