Java 在我的第二个活动中,共享首选项值为null
我需要在第二个活动中使用OnReceivedDataMethod中的字符串数据,以便将这些字符串数据保存到文件中,但目前我的文件中有空数据Java 在我的第二个活动中,共享首选项值为null,java,android,Java,Android,我需要在第二个活动中使用OnReceivedDataMethod中的字符串数据,以便将这些字符串数据保存到文件中,但目前我的文件中有空数据 SharedPreferences sp; UsbSerialInterface.UsbReadCallback mCallback = new UsbSerialInterface.UsbReadCallback() { //Defining a Callback which triggers whenever data is read. @Ov
SharedPreferences sp;
UsbSerialInterface.UsbReadCallback mCallback = new UsbSerialInterface.UsbReadCallback() { //Defining a Callback which triggers whenever data is read.
@Override
public void onReceivedData(byte[] arg0) {
try {
data = new String(arg0, "UTF-8");
data.concat("/n");
sp = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
SharedPreferences.Editor et = sp.edit();
et.putString("key",data);
et.apply();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
};
在第二个活动中
protected void onCreate(Bundle savedInstanceState) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
desiredPreference = sharedPreferences.getString("key","data");
Toast.makeText(this,"spdata"+desiredPreference,Toast.LENGTH_LONG).show();
}
该值为null,因为您使用了
PreferenceManager.GetDefaultSharedReferences(this)
,它返回带有此活动名称的首选项,并且与您在第一个活动中使用的其他首选项不同。相反,你应该用你在第一次活动中所用的方法来调用你的首选项
SharedPreferences prefs = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
String desiredPreference = sharedPreferences.getString("key","data");
要了解更多有关差异的信息,您可以检查并回答。该值为空,因为您使用了
PreferenceManager.GetDefaultSharedReferences(this)
,它返回带有此活动名称的首选项,并且与您在第一个活动中使用的其他首选项不同。相反,你应该用你在第一次活动中所用的方法来调用你的首选项
SharedPreferences prefs = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
String desiredPreference = sharedPreferences.getString("key","data");
要了解更多有关差异的信息,您可以查看并回答。执行类似操作 存放
SharedPreferences sharedPref = this.getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("key", data);
editor.commit();
重审
SharedPreferences sharedPref = this.getPreferences(Context.MODE_PRIVATE);
String checkDate = sharedPref.getString("key","");
这样做, 存放
SharedPreferences sharedPref = this.getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("key", data);
editor.commit();
重审
SharedPreferences sharedPref = this.getPreferences(Context.MODE_PRIVATE);
String checkDate = sharedPref.getString("key","");