我有这样的代码:
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请求系统。
谢谢!
答案 0 :(得分:0)
由于在call()
完成时尚未创建gson对象,因此不会返回任何内容。
根据您的具体需求,有一些解决方法。一般情况下,您需要在gson.fromJson(response, Dictionary.class)
中致电onSuccess()
,将结果放在已知位置,然后向您的应用发送一条消息,表明数据已准备就绪。
此外,由于无法保证成功,您需要处理http请求失败的情况。