首页 > 解决方案 > 一切都很好,但是调用接口方法改造时显示折线出现错误

问题描述

我想我在这里犯了一些错误

改造

import retrofit2.Retrofit;
import retrofit2.converter.scalars.ScalarsConverterFactory;

public class RetrofitClient {
    private static Retrofit retrofit =null;

    public static Retrofit getClient(String baseURL){
        if (retrofit == null){
            retrofit= new Retrofit.Builder().baseUrl(baseURL).addConverterFactory(ScalarsConverterFactory.create()).build();
        }return retrofit;
    }
}

用于改造 url 调用

public class Common {
    public static final String baseUrl ="https://maps.googleapis.com";
    public static IGoogleApi getGoogleAPI(){
        return RetrofitClient.getClient(baseUrl).create(IGoogleApi.class);
    }
}

用于改造电话

package com.google.rishicab.Romote;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Url;

public interface IGoogleApi {
    @GET
    Call<String> getPath(@Url String url);
}

我认为我在改造时做错了一些事情,但找不到错误。

日志猫

createProgram 0x0000000800000000, binary 0x70f41ba6a3, length 10736, format 37168 within 518ns 
D/Gobinda: karnojora 
D/GOBINDA: https://maps.googleapis.com/maps/api/directions/json?mode=driving&transit_routing_preference=less_driving&origin=25.630044,88.1317314&destination=karnojora&key=AIzaSyDa-hkY6VKPVyhqpr********mw 
W/System.err: java.lang.NullPointerException: Attempt to invoke interface method 'retrofit2.Call com.google.rishicab.Romote.IGoogleApi.getPath(java.lang.String)' on a null object reference 
W/System.err:     at com.google.rishicab.MapsActivity.getDirection(MapsActivity.java:225)

标签: android

解决方案


我也面临同样的问题解决方案使用较低版本的改造

implementation 'com.squareup.retrofit2:retrofit:2.5.0'
implementation 'com.squareup.retrofit2:converter-scalars:2.5.0'
implementation 'com.squareup.okhttp3:logging-interceptor:4.5.0'

推荐阅读