Hallo ich benutze Retrofit, um ein Java-Objekt zurück zu bringen, Ich möchte ein Textfeld basierend auf einem der Felder in der Antwort ändern, aber ich kann nicht finden überall im Web, wie das zu tun,wie auf JSON-Objekt von HTTP Callback auf Retrofit 2.0 zugreifen
diese Schnittstelle mein Retrofit ist:
public interface retrofitApi {
String baseUrl = "http://192.168.137.1:3003/";
@GET("api/radBox/getDegrees")
Call<ResponseBody> getCallData();
//Call<degreesModel> getCallData();
class Factory {
private static retrofitApi service;
public static retrofitApi getInstance() {
if (service == null) {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(GsonConverterFactory.create())
.build();
service = retrofit.create(retrofitApi.class);
return service;
} else {
return service;
}
}
}
}
und hier ist mein repsonse:
retrofitApi.Factory.getInstance().getCallData().enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
//HERE I WANT TO DO RESPONSE.BODY.SOMEHING ?
//HERE I WANT TO DO RESPONSE.BODY.SOMEHING ?
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.d("myLogs", "failed to Retrive Data");
Log.d("myLogs", "becouse: "+t);
largeTextVar.setText("failed: " + t);
}
});
}
mein j Sohn sieht wie folgt aus:
{
"data": {
"sector": [
[
{
"scanned": false,
"sectorOne": "",
"sectorTwo": "",
"sectorThree": ""
},
{
"scanned": false,
"sectorOne": "",
"sectorTwo": "",
"sectorThree": ""
}
]
]
},
"curserLocation": {
"elevation": 30,
"horizontal": 105
}
}
Wie kann ich von der Antwort auf eines der Felder in meinem JSON zugreifen?
THNX ALLOT !!
Lesen Sie hierzu: https://guides.codepath.com/android/Consuming-APIs-with-Retrofit –
Gibt es einen Grund, warum Sie lieber mit dem JSON als mit einem Bean-Objekt arbeiten möchten? – nasch
hallo, nein, nicht ein bestimmter Grund, gerade was ich über den Versuch kam, es zu tun .. –