Android socket编程方法

时间:2014-09-04 01:59:56

标签: android sockets

我在Android中创建一个客户端套接字程序,它正确地发送和接收数据,但我的问题是客户端正在Asyntask的“doInBackground”中运行。我需要客户端从服务器接收的信息,以便继续休息过程,并且有我的问题和我需要的方法,我如何使程序等到客户端套接字方法在调用其他方法之前接收数据?

示例:

1) MyClientTask myClientTask = new MyClientTask(服务器,端口); myClientTask.execute();

2)Do_something_with _data_received();

3)Do_something_else_with _data_received();

在这种方法中,第2点将同时与客户端套接字一起运行。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果您正在处理片段,请将片段传递给asynctask。 在doInBackground()中执行逻辑,然后在onPostExecute()中执行fragment.method()。

onPreexecute和onPostExecute在UI线程上运行,doInBackground()在一个单独的线程上运行。

提示:您可以使用进度(循环)替换视图,直到完成asynctask,

onPostExecute(){
    if(fragment.isAdded()){
       fragment.drawUI();
    }
}

其中drawUI()是使layoutView成为可见的逻辑。

onPostExecute(){

2) Do_something_with _data_received();

3) Do_something_else_with _data_received();

}

提示:不要调用asynctask的.get(),因为它会冻结UI线程。