我正在测试三星Galaxy 2的应用程序。我面临一个非常奇怪的错误。当我读取首选项时,我收到了一个NullpointerException或未在LogCat中显示的未知错误。我的代码在这里阅读了首选项:
public class PrefsUtil {
private static SharedPreferences getPrefs(Context context) {
return context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
}
public static String getString(Context context, String key, String defValue){
return getPrefs(context).getString(key, defValue);
}
//...more
}
public class DeviceSetting {
public String deviceId;
}
public class Setting {
public static DeviceSetting options;
public static void loadSettings(Context context){
options.deviceId = PrefsUtil.getString(context, R.string.deviceId, "");
//...
}
}
当我调用loadSetting时,会发生错误。
Setting.loadSettings(context);
我发现PrefsUtil.getString()通过调试导致错误。我找不到原因。上下文不为空。请让我知道出了什么问题?