我正在开发一个需要与远程服务器进行大量通信的 android 应用程序。对于这个任务,我写了一个类来处理所有的网络通信。
我是否需要为每个方法都创建一个Asynctask
?其余代码执行所依赖的方法呢? (因此需要同步完成——就像在注册时等待答案一样?)
我问这个是因为我之前已经有一个小应用程序可以与远程服务器通信并且我没有使用任何Asynctasks
,但是这个在每个被调用的方法上都会崩溃。
编辑 -
与此同时 - 在我自己上课之前,我发现了一个与谷歌库相关的很棒的教程,它已经处理了库名称是 Volley 我看过的教程是 this one
最佳答案
是的,每个网络调用都必须是异步的。您不需要使类中的每个方法都异步,但我会以一种方式重构代码,即实际上只有一个代码和平执行调用,并且这种和平必须是异步的。如果您有以下依赖于服务器响应的代码,请使用回调。
在看起来像这样的伪代码中:
void makeNetworkCall(command, listener){
async(){
result = command.execute();
listener.onCommandSuccess(result);
}
}
关于android - 在 android 中使用过多的网络调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21791223/