是否可以在Android中使用共享首选项保存蓝牙插座对象。我从这个 Android 共享首选项如何保存/存储对象,并使用此参考保存对象。我的问题是我无法将对象检索为蓝牙插座。
这是我保存的代码
void saveBluetoothDevice(String connectingDevice)
{
SharedPreferences.Editor editor = getSharedPreferences(Prefer_Bluetooth_name, MODE_PRIVATE).edit();
Gson gson = new Gson();
editor.putString("name", connectingDevice);
String json = gson.toJson(mmDevice);
editor.putString("MyObject", json);
//editor.putInt("idName", 12);
editor.apply();
}`
要检索:
String getBluetoothName()
{
String name = "";
SharedPreferences prefs = getSharedPreferences(Prefer_Bluetooth_name, MODE_PRIVATE);
name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
Gson gson = new Gson();
String json = prefs.getString("MyObject", "");
mmSocket= gson.fromJson(json, BluetoothSocket);
return name;
}
但它不行,请帮助我。
你有没有试过使用 .
mmSocket= gson.fromJson(json, BluetoothSocket.class);
请输入 log 以获取 String json
的值。
String getBluetoothName()
{
String name = "";
SharedPreferences prefs = getSharedPreferences(Prefer_Bluetooth_name, MODE_PRIVATE);
name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
Gson gson = new Gson();
String json = prefs.getString("MyObject", "");
mmSocket= gson.fromJson(json, BluetoothSocket.class); <-- This one
return name;
}