【问题标题】:Retrofit is not stopping on breakpoint改造不会在断点处停止
【发布时间】:2018-02-03 05:57:16
【问题描述】:

我正面临这个问题,当我调用改造时,该调用不会在断点处停止。

ClashResponse clashResponse = new ClashResponse();

    clashApi = clashResponse.getClashApi();

    clashApi.getAllArenas().enqueue(new Callback<String>() {
        @Override
        public void onResponse(Call<String> call, Response<String> response) {
            ClashApiBuilder<ArenaData> clashApiBuilder = new ClashApiBuilder(ArenaData.class);

            arenaList = clashApiBuilder.convert(String.valueOf(call));
        }

        @Override
        public void onFailure(Call<String> call, Throwable t) {
            t.getCause();
        }
    });

我的毕业典礼

  //Retrofit
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.3.0'
compile 'com.squareup.retrofit2:retrofit:2.3.0'

我的改造建设者:

public ClashResponse(){
    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(SERVER_URL)
            .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
            .addConverterFactory(GsonConverterFactory.create())
            .build();

    return retrofit.create(ClashApi.class);
}

【问题讨论】:

  • “在调试时不会停止”你能问你的问题吗
  • 你把断点放在哪里?
  • 我装上了 ClasgApiBuilder... 和 t.getCause()

标签: android debugging retrofit retrofit2 breakpoints


【解决方案1】:

如果您想调试您的 Api 调用,请使用夹头拦截器,它只能在调试模式下工作。在您的应用 build.gradle 中添加以下依赖项。

 debugCompile 'com.readystatesoftware.chuck:library:1.1.0'
 releaseCompile 'com.readystatesoftware.chuck:library-no-op:1.1.0'

获取okHttp3的引用

 public OkHttpClient getClient(Context context) {
    // Add the interceptor to OkHttpClient
    OkHttpClient.Builder builder = new OkHttpClient.Builder();
    builder.addInterceptor(new ChuckInterceptor(context));
    builder.readTimeout(READ_TIMEOUT, TimeUnit.MINUTES);
    builder.connectTimeout(CONNECT_TIMEOUT, TimeUnit.MINUTES);
    return builder.build();
}

现在获取改造实例并添加此okHttp 客户端

 public RestApi connectToApi() {
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(BASE_DOC_URL)
                //Data converter
                .addConverterFactory(GsonConverterFactory.create())
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .client(getClient(context))
                .build();
        return retrofit.create(RestApi.class);
}

现在您可以从通知栏中跟踪所有 Api 调用。

【讨论】:

  • 现在我面临这个错误:com.sun.jdi.InternalException : Unexpected JDWP Error: 103 android
  • 你能分享 Api 的原始响应吗?您是否使用标量转换器进行原始响应?
猜你喜欢
  • 2013-07-20
  • 2019-04-29
  • 2012-07-15
  • 2011-05-22
  • 2011-04-30
  • 1970-01-01
  • 2011-08-14
  • 2014-03-25
  • 2018-03-31
相关资源
最近更新 更多