2017-05-11 6 views
0

enter image description hereenter image description here私はこのプロジェクトを持っており、「1」のようなテーブルからすべての名前を取得したいどのようにすべての名前AndroidとJSON

public void capturarPersonagens(View view) { 

    //-- Retrofit 
    callPersonagem = service.getPersonagem("1"); 

    callPersonagem.enqueue(new Callback<Personagem>() { 
     @Override 
     public void onResponse(Call<Personagem> call, Response<Personagem> response) { 

      if (response.isSuccessful()) { 
       if (!call.isCanceled()) { 
        Log.i("Personagem",response.body().getName()); 
       } 
      } 
     } 
    } 
} 

よろしく ペドロ・ドゥアルテ

+0

は、あなたの 'service'を定義するインターフェイスのコードを共有してください:

public interface Service { @GET("people/{id}/?format=json") Call<Personagem> getPersonagem(@Path("id") String alacazam); @GET("people/?format=json") Call<ArrayList<Personagem>> getPersonagens(); } 

その後、あなたはそれをあなたがgetPersonagemでやったのと同じ方法を消費することがあります。基本的には、そのインターフェースに新しいメソッドを追加する必要があります。このメソッドを使うと、あなたの呼び出しから仮定した '' 1 ''だけでなく、すべてのレコードを照会することができます。 – Gero

+0

http://www.dontpad.com/20170000 –

+0

申し訳ありません印刷画面をお送りします –

答えて

0

のコードこの最初の名前です。サービスインタフェースに新しいメソッドがありません:
apiエンドポイントpeople/?format=jsonは、Webサービスの実際の実装によって異なります。

public void capturarPersonagens(View view) { 

    //-- Retrofit 
    callPersonagens = service.getPersonagens(); 

    callPersonagens.enqueue(new Callback<ArrayList<Personagem>>() { 
     @Override 
     public void onResponse(Call<ArrayList<Personagem>> call, Response<ArrayList<Personagem>> response) { 

      if (response.isSuccessful()) { 
       if (!call.isCanceled()) { 
        for(Personagem p:response.body()){ 
         Log.i("Personagem",p.getName()); 
        } 
       } 
      } 
     } 
     @Override 
     public void onFailure(Call<ArrayList<Personagem>> call, Throwable t) { 
      Log.e("SW", "" + t.getMessage()); 
     } 
    }); 
} 
+0

ありがとうございました後でコードを修正してお知らせします –