2016-10-24 265 views
0

我正在开发改造,但我有一个问题。我想从我的服务器上得到结果。

这是我的脚本PHP我的结果JSON:

[{"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 $

回答

1

试试这个:

public class BureauCollection 
{ 
    List<Bureau> bureauList; 
} 

Call<BureauCollection> getBureau(); 

更改基本URL: “http://192.168.56.1:80/” 和API:@GET(“/ posteboosterAPI/methodes.php”)

+0

我已经试过,但我有“预期BEGIN OBJECT但STRING”作为error.thank宇 –

+0

@JoelAkoupo检查我的编辑 –

+0

网址是不正确的 –

相关问题