0
我遇到了一个我正在构建的片段的问题。基本上,现在我想要做的就是检查在片段内部何处以及如何进行http请求调用。Android调试器跳转片段方法
到目前为止,当我运行的代码没有调试器一切正常,日志功能。但是,当我试图一步一步地完成任何事情时,我什么也得不到。然后调试器从运行在call.enqueu
方法中的代码部分跳转到方法声明的末尾。我使用的代码如下,请注意,这个过程在从一个活动运行而不是从一个片段中运行,这使得我相信这个问题出现在我的片段实现中。
为异步requestÑ的方法:
public void testAsyncCreate() {
OkHttpClient client = new OkHttpClient();
RequestBody body = RequestBody.create(CREATE_MEDIA_TYPE, "data={\"process\":\"12222\", \"phone\":\"1111111\"}");
Request request = new Request.Builder()
.url(ALLWAYS_API)
.post(body)
.build();
Call call = client.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
// any additional runnable items go in here
try {
String jsonData = response.body().string(); // the exception is caught at this point
Log.d("<Mensajes>",jsonData);
extractCreate = parseExtractCreateDetails(jsonData);
if(response.isSuccessful()) {
extractCreate = parseExtractCreateDetails(jsonData);
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
Log.d("<=====>", "check");
Log.d(TAG, "Is this even working?");
}
});
}
//getStops(jsonData);
}catch(IOException e) {
}catch (JSONException e){
}
}
});
} // end of asyncCreate
什么我无法理解日志是如何工作的,但我从没有调试信息。 Fragments
内部有处理这类事情的具体方法吗?是否在其他地方处理它们,例如调用Fragment
的活动?如果是的话,这将如何传递给Fragment
活动?
你会说时间这种情况下通常还有其他的惯例吗?如果不推荐在ui线程中处理请求,我宁愿改变它。 –
排队方法本身在后台线程上运行。这就是为什么后面的中断点会被调用。响应或失败内的断点将在接收到响应时调用。 –