Android调试器跳转片段方法

时间:2016-11-22 05:49:00

标签: java android android-fragments okhttp

我正在构建一个正在构建的片段的问题。基本上,现在我要做的就是检查片段内的http请求调用的位置和方式。

到目前为止,当我在没有调试器的情况下运行代码时,一切正常并且日志确实起作用。但是,当我试图一步一步地审视所有事情时,我什么也得不到。调试器从在call.enqueu方法上运行的代码部分跳转到方法声明的末尾。我正在使用的代码如下,请注意这个程序在从一个活动运行时非常有效,而不是一个让我相信问题在我的片段实现中的片段。

异步请求的方法Ñ:

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活动?

1 个答案:

答案 0 :(得分:0)

enqueue在后台线程中发出请求...它在响应中的断点处停止响应或在获得响应后失败。它需要时间并依赖于因特网和一些事情所花费的时间