使用共享首选项保存蓝牙套接字对象



是否可以在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;
}

最新更新