0
MainActivityにBase URLがあります。私は、retrofitを使用してサーバーからjsonファイルを取得しようとしています。ここでretrofit2を使用してjsonファイルを取得する
はMainActivity
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.action_get_data) {
if (isOnline()) {
requestData();
} else {
Toast.makeText(this, "Network isn't available", Toast.LENGTH_LONG).show();
}
}
return false;
}
private void requestData() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(ENDPOINT)
.addConverterFactory(GsonConverterFactory.create())
.build();
FlowersAPI service = retrofit.create(FlowersAPI.class);
Call<List<Flower>> call = service.getFeed();
call.enqueue(new Callback<List<Flower>>() {
@Override
public void onResponse(Call<List<Flower>> call, Response<List<Flower>> response) {
flowerList = response.body();
updateDisplay();
}
@Override
public void onFailure(Call<List<Flower>> call, Throwable t) {
}
});
}
protected void updateDisplay() {
//Use FlowerAdapter to display data
FlowerAdapterPicaso adapter = new FlowerAdapterPicaso(this,
R.layout.item_flower, flowerList);
setListAdapter(adapter);
}
そして、ここでのコードの一部です私のインターフェースは
public interface FlowersAPI {
@GET("/feeds/flowers.json")
public Call<List<Flower>> getFeed();
}
である私は、リストビューにデータがない、すなわち、結果を取得することができません、他のすべての例では、改造を示し以前のバージョンから、私の他の質問は? GsonConverterFactoryを追加することは必須ですか?
最新のバージョンのレトロフィットを使用していますが、他のいくつかの例のようにOkHttpClientを使用する必要がありますか? –
'コンバーターを作成できません '...なぜGsonConverterFactoryにコメントしましたか? –
GsonConverterFactoryを使用してもエラーが表示される - java.lang.NoClassDefFoundError:Lcom/google/gson/Gsonの解決に失敗しました。 at retrofit2.converter.gson.GsonConverterFactory.create(GsonConverterFactory.java:42) at com.hanselandpetal.catalog.MainActivity.requestData(MainActivity.java:69) –