将所有网络操作放在单线程中

时间:2014-12-27 20:28:32

标签: android

我有一个聊天应用程序,我必须使用网络,所以我必须使用另一个线程进行网络操作。我的问题是从这里开始。我必须将此行连接到我的服务器:

connection=new XMPPTCPConnection(configuration);
connection.connect();
chatManager = ChatManager.getInstanceFor(connection);

我正在使用新线程进行此操作。但是当用户想要发送消息时,我必须在消息发送方法中使用chatManager变量。但是我在一个线程中设置了这个变量,所以我无法从另一个线程。我怎么解决这个问题?我正在发送以下这些内容的新消息:

Chat chat=chatManager.createChat(to,messageListener);
chat.sendMessage(message);

我认为,我必须将所有网络操作放在一个线程中但是如何?

1 个答案:

答案 0 :(得分:0)

您可以使用AsyncTask建立连接,并在数据结束时将数据发送回您的Activity,每当您想要繁重的工作(几秒钟)时启动AsyncTask。