2014-09-04 29 views
0

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

实施例:

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

2)Do_something_with _data_received();

3)Do_something_else_with _data_received();

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

在此先感谢。

+0

不要“让程序等待”。一旦收到数据,调用依赖方法。 – 2014-09-04 02:12:19

回答

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线程。