Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 安卓&x2B;改装2+;GSON=无法调用接口的无参数构造函数_Java_Android_Retrofit_Retrofit2_Gson - Fatal编程技术网

Java 安卓&x2B;改装2+;GSON=无法调用接口的无参数构造函数

Java 安卓&x2B;改装2+;GSON=无法调用接口的无参数构造函数,java,android,retrofit,retrofit2,gson,Java,Android,Retrofit,Retrofit2,Gson,我试图在我的应用程序中使用改型2,但出现以下错误: java.lang.RuntimeException:无法为interface box.gov.br.ourapp.API.ClientePFApi调用任何参数构造函数。向Gson注册此类型的InstanceCreator可以解决此问题。 而且。。。我不知道哪里出了问题=/ 我的java类: 公共类客户PFVISAO360{ 私有静态最终长serialVersionUID=318272297876508581L; @序列化名称(“txCPF”)

我试图在我的应用程序中使用改型2,但出现以下错误:

java.lang.RuntimeException:无法为interface box.gov.br.ourapp.API.ClientePFApi调用任何参数构造函数。向Gson注册此类型的InstanceCreator可以解决此问题。

而且。。。我不知道哪里出了问题=/

我的java类:

公共类客户PFVISAO360{
私有静态最终长serialVersionUID=318272297876508581L;
@序列化名称(“txCPF”)
@暴露
公共字符串txCPF;
@序列化名称(“nuCocli”)
@暴露
公共长努科克利;
@序列化名称(“TXNOMECLIENT”)
@暴露
公共字符串TXNOMEclient;
@序列化名称(“dtNascimento”)
@暴露
公共字符串dtNascimento;
@SerializedName(“dtInicioRelacionamento”)
@暴露
公共字符串DTinicioRelacionNamento;
@SerializedName(“txSegmento”)
@暴露
公共字符串txSegmento;
@序列化名称(“txOcupacao”)
@暴露
公共字符串txOcupacao;
@SerializedName(“txSexo”)
@暴露
公共字符串txSexo;
@序列化名称(“txEstadoCivil”)
@暴露
公共字符串txEstadoCivil;
@序列化名称(“txNivelInstrucao”)
@暴露
公共字符串txNivelInstrucao;
@序列化名称(“txTipoPessoa”)
@暴露
公共字符串txTipoPessoa;
@SerializedName(“nuNacionalidade”)
@暴露
公共整数nuNacionalidade;
@序列化名称(“txnaturalde”)
@暴露
公共字符串TXD;
@序列化名称(“txNomePai”)
@暴露
公共字符串txNomePai;
@序列化名称(“txNomeMae”)
@暴露
公共字符串txNomeMae;
@SerializedName(“txDeficiencia”)
@暴露
公共字符串TXD缺陷;
@序列化名称(“尼可斯”)
@暴露
公共名单nichos;
@序列化名称(“变戏法”)
@暴露
公共召唤;
@序列化名称(“renda”)
@暴露
公共区域;
@序列化名称(“meiosComunicacao”)
@暴露
公共社区;
@序列化名称(“carteiraGRC”)
@暴露
公开名单;
//能手和二传手。。。。
公共客户PFVISAO360(){
}
我的界面:

公共接口ClientePFApi{
@获取(“clientepf/{user}”)
调用getClientePF(@Path(“user”)字符串user);
}
我怎么称呼这个:

OkHttpClient-okClient=new-OkHttpClient();
改装客户端=新建改装.Builder()
.baseUrl(API)
.客户(okClient)
.addConverterFactory(GsonConverterFactory.create())
.build();
ClientePFApi服务=client.create(ClientePFApi.class);
Call Call=service.getClientePF(“bigua”);
call.enqueue(新回调(){
@凌驾
public void onResponse(@NonNull调用,@NonNull响应){
Log.e(“改装”、“正常”);
}
@凌驾
public void onFailure(@NonNull Call Call,@NonNull Throwable t){
Log.e(“trow”,t.toString());
Log.e(“改装”、“碰撞”);
}
});
从API接收到的JSON:

{“txCPF”:“1234567”,“nuCocli”:12345,“TXNOMEclient”:“bla”,“dtNascimento”:“12/11/1984”,“dtInicioRelacionamento”:“04/05/2010”,“txSegmento”:“bla”,“TXOCAPACAO”:“bla”,“TXSTADOCIVILI”:“bla”,“TXNIVELLINTRUCAO”:“bla”,“TXTIOPESOA”:“bla”,“NUNACIONALIALIDADE”:“null”,“txNomePai”:“DF”,“txNomePai”:“blah”,“TX”,“TXNOMECIONEME”:“bla”:“布拉”,“TX”和TX:null,“nichos”:null,“conguge”:null,“renda”:null,“meiosComunicacao”:null,“carteiraGRC”:null}

如果这是一个noob问题,我很抱歉,但我在这里读了很多问题,不知道哪里是我的错误


感谢您的帮助。

我想这是个问题,因为您使用的
接口
类和您的
模型
类的名称相同

这两个名称在这里都是相同的
ClientePFApi

public interface ClientePFApi {
    @GET("clientepf/{user}")
    Call<ClientePFApi> getClientePF(@Path("user") String user);
}

哦…我明白了…,更改了,错误也更改了,但JSON似乎格式错误,新错误:com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:Beging_数组,但在第1行第499列为字符串path$.nichosts这是因为在您的
clientpfvisao360
nichos
carte中出现的错误iraGRC
是列表对象,在您的
Json
中包含该键的
null
。要解决此问题,您需要将该键的
null
替换为空数组
[]
public interface ClientePFApi {
        @GET("clientepf/{user}")
        Call<ClientePFVisao360> getClientePF(@Path("user") String user);
    }