android - 一切都很好,但是调用接口方法改造时显示折线出现错误
问题描述
改造
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)
解决方案
我也面临同样的问题解决方案使用较低版本的改造
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'
推荐阅读
- python - Holoviews Hovertool 显示额外的行?
- kubernetes - 如何使 kube-proxy 分配负载?
- javascript - 如何正确执行这个基于 Promise 的 SQL 查询?
- docker - 为什么 pushgateway 不提示输入用户名和密码?
- typescript - 嵌套拾取定义
- android - 如何创建字符串输入字段颤动?
- keras - Keras:多类 CNN 文本分类器为所有输入数据预测相同的类
- java - 使用带有 java (+ lombok) 的不可变类的 spark 中的反序列化错误
- python - 当我从特定网页下载时让 python 知道
- swift - 替换 NSAttributedString 中的图像