2

在 iOS 中(冷静下来,我会在一秒钟内进入 android 部分)你可以创建一个NSURLConnction并使用这个对象来识别所进行的调用:

NSURLConnection *urlConnection = [NSURLConnection connectionWithRequest:request delegate:self];

然后在回调代码中你可以说:

if (connection == urlConnection)
{
    // this was my urlConnection    
}
else if (connection == urlConnection2)
{
    // this was my urlConnection    
}

在 Android 中,我有一个运行我的 HTTP Get 请求的 AsyncTask。我还有一个DidFinishConenction在任务完成时调用函数的接口。但是,当它被调用时,我需要一种方法来识别是哪个调用。这样我就可以正确处理结果。

在 android 中,您可以使用以下命令调用 AsyncTask:new MyServerConnection().execute(myUrl);

有没有办法识别此任务并将其与后来类似于 iOS 的另一个任务进行比较?

谢谢,

大卫

4

1 回答 1

1

AsyncTask不适用于回调。相反,您覆盖了任务的onPostExecute和/或onProgressUpdate方法。(您可以从这些方法中进行自己的回调。)您可以简单地使用==来比较MyServerConnection对象。或者,您也可以设计您MyServerConnection的标识符字段(如果您愿意,它可以自动生成,或者作为构造函数参数接收)并将其用于比较。

于 2013-04-17T21:29:20.510 回答