如何将线程保存到SharedPreference Android

时间:2015-04-13 00:01:43

标签: android bluetooth sharedpreferences

我有来自Android文档的Bluetooth 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]

3 个答案:

答案 0 :(得分:1)

如果您想获取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");

答案 1 :(得分:0)

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

答案 2 :(得分:0)

创建BaseActivity并在Activity2中进行扩展。 make BaseActivity Abstract并创建一个公共静态Thread TempThread = null;并将您的主题保存在BaseActivity.TempThread = mConnected。感谢mConnectedThread = BaseActivity.TempThread;