什么是适合Android的HttpClient设计

时间:2016-07-05 14:00:58

标签: java android android-asynctask httpurlconnection

我是一名iOS程序员(不是很有经验)。我通常为所有其他类创建一个HttpClient.class。像:

@implementation HttpClient
-(NSString*)getGetResponse :(NSString*)url{
    //do all http get request work
    return result;
}
@end

然后我可以在我的项目中的任何地方调用此getGetResponse:来进行http get work。

NSString *result = [httpClient getGetResponse:@"http://www.example.com/api"]

但是在类中运行的Android请求网络扩展了AsyncTask.Like:

 public class HttpTask extends AsyncTask<String,String, String > {
    @Override
    protected String doInBackground(String... params) {
        //network code here
        return result;
    }
    @Override
    protected void onPostExecute(String result) {
        super.onPostExecute(result);
    }
}

这让我很困惑。我如何做与上面的objective-c代码相同的事情?(将结果返回给调用者)

1 个答案:

答案 0 :(得分:0)

你没有。 HTTP调用需要asycnhronously发生。而不是返回结果,强制线程等待,您需要执行任何需要onPostExecute结果的处理。