使用这种方法https://code.google.com/p/android-query/wiki/AsyncAPI ,我制作了这段代码来从api获取json数据,但是得到了,为什么?null
这段代码有问题还是方法有问题?
// 获取代码
public static void fetchCodeData(Context context2) {
AQuery aQuery = new AQuery(context2);
if(CheckInternetConnection.isConnectingToInternet()) {
aQuery.ajax(url, null, JSONObject.class, getGrandCodeCallback());
}
}
和
private static AjaxCallback<JSONObject> getGrandCodeCallback() {
return new AjaxCallback<JSONObject>() {
private String accessCode;
@Override
public void callback(String url, JSONObject object, AjaxStatus status) {
// get data here
Log.e("Object", "object=" + object.toString());
if (object != null) {
try {
accessCode = object.getJSONObject("data").getString("code");
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}.header("Content-Type", "application/json; charset=utf-8")
.header(Client_ID, Client_ID)
.header(Client_SECRET, Client_SECRET);
}
调用 java 类活动:
fetchCodeData(getApplicationContext());
Log.e("getCallback",
"AllOverApplicationVariable.accessCode==="
+ AllOverApplicationVariable.accessCode);
输出看起来像这样,在方法调用后它返回 null 但再次调用方法并获取 json 值?我不知道 ?为什么这个 ?
06-16 17:58:29.196: E/getCallback(12435): AllOverApplicationVariable.accessCode===null
06-16 17:58:30.202: E/Object(12435): object={"data":{"state":"","scope":"","expires":"2015-06-17 17: 58:30","code":"69e11cfb3243244da5dc6b0aac1515569c06d2d2","response_type":"code","client_id":"1","redirect_uri":"http://localhost/eads"}}
AQuery 支持多部分发布,例如将图像上传到服务。只需执行常规 POST 并放入字节数组 Inputstream 您能否指出我的错误,我做错了什么。