我试图获取 AsyncTask 中 SharedPreferences 中保存的字符串,但不幸的是我收到以下错误:
java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.content.SharedPreferences android.content.Context.getSharedPreferences(java.lang.String, int)”
相关代码如下:
public class FetchData extends AsyncTask<Void, Void, String> {
private Context context;
String deviceId;
private AsyncInterface asyncInterface;
public FetchData(AsyncInterface asyncInterface) {
this.context = context;
this.asyncInterface = asyncInterface;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
SharedPreferences sharedPreferences = context.getSharedPreferences("deviceId", MODE_PRIVATE); //Error here
deviceId = sharedPreferences.getString("deviceId", deviceId);
}
}
我做错了什么?
最佳答案
也许您应该添加一个构造函数参数Context context
。
关于java - 从 AsyncTask 中的 SharedPreferences 获取字符串,java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49658604/