0
Я развиваюсь с модификацией, но у меня есть проблема. Я хочу получить результаты с моего сервера.
Это мой результат JSON из моего сценария PHP:
[{"rubrique_id":"1","rubrique_lib":"syst\u00e8me "},
{"rubrique_id":"2","rubrique_lib":"s\u00e9curit\u00e9"},
{"rubrique_id":"3","rubrique_lib":"information"}]
Это моя модель класс в Java:
public class Bureau {
@SerializedName("rubrique_id")
private String rubrique_id;
@SerializedName("rubrique_lib")
private String rubrique_lib;
public String getRubrique_id() {
return rubrique_id;
}
public void setRubrique_id(String rubrique_id) {
this.rubrique_id = rubrique_id;
}
public String getRubrique_lib() {
return rubrique_lib;
}
public void setRubrique_lib(String rubrique_lib) {
this.rubrique_lib = rubrique_lib;
}
}
Это мой API класс:
public interface BureauApi {
@GET("/")
Call<List<Bureau>> getBureau();
}
Это является основным классом, где я внедрил модифицированную библиотеку:
public class ParametreActivity extends AppCompatActivity {
private Spinner spinner = null;
private static final String BASE_URL = "http://192.168.56.1:80/posteboosterAPI/methodes.php/";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_parametre);
spinner = (Spinner)findViewById(R.id.list_bureau);
final List<String> listBureau = new ArrayList<String>();
listBureau.add("bureau1");
listBureau.add("bureau2");
Gson gson = new GsonBuilder()
.setLenient()
.create();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
BureauApi service = retrofit.create(BureauApi.class);
Call<List<Bureau>> call = service.getBureau();
call.enqueue(new Callback<List<Bureau>>() {
@Override
public void onResponse(Call<List<Bureau>> call, Response<List<Bureau>> response) {
if (response.isSuccessful()) {
for (Bureau bureaus :response.body()
) {
Log.i("log", bureaus.getRubrique_lib());
}
}else {
Log.i("log", "l'objet est vide "+response.message());
}
}
@Override
public void onFailure(Call<List<Bureau>> call, Throwable t) {
Log.i("log","erreur survenu dans la requete "+ t.getMessage());
}
});
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,listBureau);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
}
}
И консоль дает мне следующее сообщение об ошибке:
Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
Я попытался это, но я был «ОЖИДАЮСЬ НАЧАТЬ ОБЪЕКТ, НО БЫЛ STRING», как error.thank евайте –
@JoelAkoupo проверить мой редактировать –
URL не является правильным –