Я использую модификацию для доступа к API, но я не могу получить данные этого API
API Link
Мне удалось заставить мой код работать с этим API: ( Это ), но когда я переделываю код для использования предыдущего, я получаю ошибку nullPointer в ActivityMain в первой строке foreach что я использую для отображения результатов.
Код:
MainActivity:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(UdacityService.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
UdacityService service = retrofit.create(UdacityService.class);
Call<CharacterCatalog> requestCatalog = service.listCatalog();
requestCatalog.enqueue(new Callback<CharacterCatalog>() {
@Override
public void onResponse(Call<CharacterCatalog> call, Response<CharacterCatalog> response) {
if(!response.isSuccessful()){
Log.e("ERRO", "Erro no servidor (" + response.code() + ")");
}
else {
CharacterCatalog catalog = response.body();
for (Result c : catalog.results){
Log.i("RESULT", String.format("id; %s, name: %s\n",c.id, c.name));
for (Origin o : c.origins){
Log.i("RESULT", String.format("nome; %s, url: %s\n",o.name, o.url));
}
Log.i("RESULT", "/////////////////////////////////////////");
}
}
}
@Override
public void onFailure(Call<CharacterCatalog> call, Throwable t) {
Log.e("ERRO", "Verifique a conexão com a internet (" + t.getMessage() + ")");
}
});
}}
Interface retofit:
public interface ApiService {
public static final String BASE_URL = "https://rickandmortyapi.com/api/";
@GET("character")
Call<CharacterCatalog> listCatalog();
}
Список результатов:
public class CharacterCatalog {
public List<Result> results;
}
Результат класса
public class Result {
public String id;
public String name;
public String status;
public String species;
public String gender;
public List<Origin> origins;
}
Класс Происхождение:
public class Result {
public String id;
public String name;
public String status;
public String species;
public String gender;
public List<Origin> origins;
}
Может кто-нибудь помочь мне с этой ошибкой?