2016-10-24 264 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

網址是不正確的 –

相關問題