是否可以在android中使用共享首选项保存 BluetoothSocket对象。 我从这个How Android SharedPreferences save/store object获得了引用,并使用此引用保存了对象。 我的问题是我无法将对象检索为BluetoothSocket。
这是我保存的代码
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;
}
但它不是Ok.Please帮助我。
答案 0 :(得分:0)
您是否尝试过使用mmSocket= gson.fromJson(json, BluetoothSocket.class);
请输入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;
}