我正在构建一个包含SharedPreferences
的Android项目。SharedPreferences在android程序中产生强制关闭
我的SharedPreferences
工作正常,我在多项活动中测试它。但是在我为全局变量定义的类中,定义SharedPreferences
将导致关闭力(日食没有在代码中显示任何错误)。
public class Globals extends Application {
final SharedPreferences s = getSharedPreferences("Prefs", MODE_PRIVATE);
}
什么问题?
SharedPreferences只能从上下文来获得。所以它需要'context.getSharedPreferences(“Prefs”,Context.MODE_PRIVATE);'你的类对Context没有任何的了解 - 这是问题。您需要在方法中或通过构造函数传递Context变量作为参数。 – Sajmon
我改变了它:final SharedPreferences s = this.getSharedPreferences(“Prefs”,MODE_PRIVATE);但仍然产量逼近。 – user3077909
你不能使用这个,因为你不在活动(活动从Context延伸出于这个原因,你可以使用或不)。您需要显式传递Context作为参数或方法或构造函数。没有其他方式如何做到这一点。 – Sajmon