Olá pessoas! Estou fazendo um app android que linka uma api do rick and morty, estou usando o public static String urlApi = “https://rickandmortyapi.com/api/character?”; para linkar, só que essa api tem 826 personagens e eles estão separados em 42 paginas, meu app só trás os personagens da pagina 1, o que devo fazer para ele trazer todas as paginas?
Toda resultado tem isso:
info: {
count: 826,
pages: 42,
next: "https://rickandmortyapi.com/api/character?page=2",
prev: null
},
Quando a propriedade next for NULL
, significa que não tem mais o que recuperar. Vc terá que ir recuperando todas as páginas enquanto next for diferente de NULL
.
Eu fiz esses dois botões, só que ele só traz a pagina 1 e 2:
private ArrayList<HashMap<String,String>> listaDados;
private String id = "1";
private Button esquerda;
private Button direita;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
esquerda = findViewById(R.id.btnEsquerda);
direita = findViewById(R.id.btnDireita);
Intent dadosRecebidos = getIntent();
if (dadosRecebidos != null) {
Bundle params = dadosRecebidos.getExtras();
if (params != null) {
id = params.getString("id");
}
}
esquerda.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
listaDados = new BuscarDadosWeb().execute(Config.urlApi + id).get();
} catch (Exception e) {
e.printStackTrace();
}
Intent telaDetalhes = new Intent(MainActivity.this, MainActivity.class);
Bundle params = new Bundle();
params.putString("id", "2");
telaDetalhes.putExtras(params);
startActivity(telaDetalhes);
}
});
direita.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
listaDados = new BuscarDadosWeb().execute(Config.urlApi + id).get();
} catch (Exception e) {
e.printStackTrace();
}
Intent telaDetalhes = new Intent(MainActivity.this, MainActivity.class);
Bundle params = new Bundle();
params.putString("id", "3");
telaDetalhes.putExtras(params);
startActivity(telaDetalhes);
}
});
try {
listaDados = new BuscarDadosWeb().execute(Config.urlApi + id).get();
} catch (Exception e) {
e.printStackTrace();
}
tem como fazer um codigo que traga sempre o id frente?