Я занимаюсь разработкой приложения, которое показывает значения JSON на Android.Я написал службу WCF, которая возвращает массив JSON.
Я попытался протестировать свой веб-сервис на Postman, и он вернул значения.Но я не мог получить какие-либо значения в приложении.Я отладил приложение и показал, что URL действителен, но все еще получает HTTP-код 400
Вот мой интерфейс
@GET("ClientControl.svc/GetRecords")
Call<List<Records>> records();
А вот мой модифицированный объект.
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://192.168.2.134:62665/") // I tried it to change 10.0.3.2 but same
.addConverterFactory(GsonConverterFactory.create())
.build();
ивот мои телефонные коды
JsonPlaceholderAPI jsonPlaceholderAPI = retrofit.create(JsonPlaceholderAPI.class);
Call<List<Records>> call = jsonPlaceholderAPI.records();
call.enqueue(new Callback<List<Records>>() {
@Override
public void onResponse(Call<List<Records>> call, Response<List<Records>> response) {
if(!response.isSuccessful()){
System.out.println("CODE : "+response.code());
}
}
@Override
public void onFailure(Call<List<Records>> call, Throwable t) {
System.out.println(t.getMessage());
}
});
вот мой Logcat 12-24 04: 47: 46.852 2665-3191 / system_process I / ActivityManager: START u0 {cmp = com.example.cemal.login / .ServisFisi} из uid 10060 на дисплее 0
--------- beginning of main
12-24 04:47:46.983 6086-6086/com.example.cemal.login
I/AppCompatViewInflater: app:theme is now deprecated. Please move to using
android:theme instead.
12-24 04:47:47.235 6086-6086/com.example.cemal.login I/System.out: CODE :
400
12-24 04:47:47.485 6086-6100/com.example.cemal.login W/EGL_emulation:
eglSurfaceAttrib not implemented
12-24 04:47:47.485 6086-6100/com.example.cemal.login W/OpenGLRenderer:
Failed to set EGL_SWAP_BEHAVIOR on surface 0xe9bbf760, error=EGL_SUCCESS
12-24 04:47:48.855 6086-6086/com.example.cemal.login I/Choreographer:
Skipped 70 frames! The application may be doing too much work on its main
thread.
12-24 04:47:48.909 2665-2684/system_process I/ActivityManager: Displayed
com.example.cemal.login/.ServisFisi: +1s992ms
Мой ответ JSON, который возвращается из веб-службы.
"[{\"KODU\":\"TLP.00000001\",\"ACIKLAMA\":\"ÇEK & SENET\",\"KAPALI_FL\":false,\"TARIH\":\"2018-12-24T12:57:27.711864\",\"TUTAR\":1254.78,\"DURUM\":0},{\"KODU\":\"TLP.00000002\",\"ACIKLAMA\":\"FİNANSMAN\",\"KAPALI_FL\":true,\"TARIH\":\"2018-12-24T07:57:27.711864\",\"TUTAR\":3251.7895,\"DURUM\":0},{\"KODU\":\"TLP.00000003\",\"ACIKLAMA\":\"MUHASEBE\",\"KAPALI_FL\":true,\"TARIH\":\"2018-12-24T10:57:27.711864\",\"TUTAR\":5421.1256,\"DURUM\":1},{\"KODU\":\"TLP.00000004\",\"ACIKLAMA\":\"MASRAF\",\"KAPALI_FL\":true,\"TARIH\":\"2018-12-21T12:57:27.711864\",\"TUTAR\":952.064,\"DURUM\":0},{\"KODU\":\"TLP.00000005\",\"ACIKLAMA\":\"SATINALMA\",\"KAPALI_FL\":false,\"TARIH\":\"2018-12-25T12:57:27.711864\",\"TUTAR\":37.915,\"DURUM\":1},{\"KODU\":\"TLP.00000006\",\"ACIKLAMA\":\"STOK\",\"KAPALI_FL\":false,\"TARIH\":\"2018-12-24T17:57:27.711864\",\"TUTAR\":54.782,\"DURUM\":1}]"
И мой класс POJO.Я сгенерировал его на сайте jsonschema2pojo.
@SerializedName("KODU")
@Expose
private String kODU;
@SerializedName("ACIKLAMA")
@Expose
private String aCIKLAMA;
@SerializedName("KAPALI_FL")
@Expose
private boolean kAPALIFL;
@SerializedName("TARIH")
@Expose
private String tARIH;
@SerializedName("TUTAR")
@Expose
private double tUTAR;
@SerializedName("DURUM")
@Expose
private int dURUM;
public String getKODU() {
return kODU;
}
public void setKODU(String kODU) {
this.kODU = kODU;
}
public String getACIKLAMA() {
return aCIKLAMA;
}
public void setACIKLAMA(String aCIKLAMA) {
this.aCIKLAMA = aCIKLAMA;
}
public boolean isKAPALIFL() {
return kAPALIFL;
}
public void setKAPALIFL(boolean kAPALIFL) {
this.kAPALIFL = kAPALIFL;
}
public String getTARIH() {
return tARIH;
}
public void setTARIH(String tARIH) {
this.tARIH = tARIH;
}
public double getTUTAR() {
return tUTAR;
}
public void setTUTAR(double tUTAR) {
this.tUTAR = tUTAR;
}
public int getDURUM() {
return dURUM;
}
public void setDURUM(int dURUM) {
this.dURUM = dURUM;
}
HTTP-код должен быть действительным, но он возвращает 400. Я не знаю почему.Я новичок в этом.