android中的异步通信

时间:2013-11-18 13:16:26

标签: java android multithreading android-networking apache-mina

我正在尝试在机器人中集成apacahe Mina。

我们可以使用AsyncTask& amp;传递给UI或其他类以供进一步使用?

例如

public class NetworkConnect extends AsyncTask<String, Void, String>{

        @Override
        protected String doInBackground(String... param) {

                 Protocol p = new Protocol(); //here I m making connection with echo server
                 //Now I want that session in UI to send messages to echo Server
        }
}

我想在其他类(如UI)中使用此'p'实例,并使用此“p”实例调用Protocol类的属性。 怎么做?还是有其他解决方案吗? 基本上'Protocol'类应该与UI线程并行运行,并且基于事件,它们应该能够相互通信。

假设有echo服务器...然后当有人输入'Input'edittext并点击'send'按钮时,echoServer会再次给我这个'输入'。 现在我的问题是使用AsyncTask我能够连接服务器,但我无法在UI中使用相同的会话。所以我无法将数据发送到服务器。

谢谢

1 个答案:

答案 0 :(得分:1)

您只需要在字段中存储对该对象的引用(而不是像您所示的局部变量),并提供根据需要使用它的方法。如果需要始终在后台线程上运行,那么这些方法可以启动AsyncTask。