如何将线程保存到 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;
的称呼
我有来自 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;