1

我有这样的代码:

public Dictionary<Object, Object> call(String method, Iterable args)
{
    AsyncHttpClient client = new AsyncHttpClient();
client.get(getUrl(method, args), new AsyncHttpResponseHandler() {
    @Override
    public void onSuccess(String response) 
            {
        Gson gson = new GsonBuilder().create();             
    }       
    });
}

我希望能够返回(Dictionary<Object, Object>) gson.fromJson(response, Dictionary.class)到我的call方法,但是如何做?我使用http://loopj.com/android-async-http/来拥有一个易于使用的异步 HTTP 请求系统。

谢谢 !

4

1 回答 1

0

由于完成时尚未创建 gson 对象call(),因此不会返回任何内容。

有一些解决方法,具体取决于您的具体需求。通常,您需要调用gson.fromJson(response, Dictionary.class)onSuccess()将结果放在已知位置,然后向您的应用发送一条消息,表明数据已准备就绪。

此外,由于无法保证成功,因此您需要处理 http 请求失败的情况。

于 2013-04-01T19:45:08.527 回答