如何将线程保存到 SharedPreference Android

How to save Thread to SharedPreference Android

我有来自 Android 文档的蓝牙 ConnectedThread,我想将 ConnectedThread 变量的值保存到 SharedPreference。 我有:

private ConnectedThread mConnectedThread;

和函数头:

    private class ConnectedThread extends Thread{
     public ConnectedThread(BluetoothSocket socket, String socketType){
          }
    }

mConnectedThread = ConnectedThread(BluetoothSocket socket, String socketType)

我需要的是将 mConnectedThread 保存到 SharedPreference。

你能帮帮我吗?

谢谢!

mConnectedThread 值

Thread[Thread-16961,5,main]

除字符串外,您无法将任何内容保存到共享首选项。 它被放入一个 xml 文件中,编码甚至不允许字符串数组。 您可以尝试将其序列化并将其放入文件

如果你想获取mConnectedThread的值并存储到SharedPreferences中,你可以这样做:

SharedPreferences sharedPreferences = getApplication().getSharedPreferences("Surface", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("ConnectedThread", mConnectedThread.toString());
editor.commit();

从 SharedPreferences 获取 ConnectedThread 的值:

SharedPreferences sharedPreferences = getApplication().getSharedPreferences("Surface", MODE_PRIVATE);
String sTest = sharedPreferences.getString("ConnectedThread", "DefaultValue");

创建 BaseActivity 并在 Activity2 中扩展它。制作 BaseActivity Abstract 并创建一个 public static Thread TempThread = null;并将您的线程保存在那里 BaseActivity.TempThread = mConnected。感谢 mConnectedThread = BaseActivity.TempThread;

的称呼