J'applique la mise à niveau dans mon application Android pour les appels dans mon API. J'ai dans un appel dans mon API de nombreux résultats, puis j'ai décidé de créer une pagination dans l'API. Le retour sur mon API d'appel est celui-ci:Appel de l'API avec pagination en utilisant Retrofit sur Android
{
"meta": {
"server": "localhost",
"offset": "1",
"limit": "1",
"recordCount": 1
},
"records": [
{
"userName": "ricardo"
}
]
}
Call<BaseResponse<User>> user = userResource.getListUser(
authController.getTokenHeader(),
limit,
offset
);
user.enqueue(new Callback<BaseResponse<User>>() {
@Override
public void onResponse(Response<BaseResponse<User>> response, Retrofit retrofit) {
if (response.isSuccess()) {
New Call Api Again if more results
}
@Override
public void onFailure(Throwable t) {}
});
Quand je change le dans l'appel « décalage » I « étape » à la page suivante.
Y a-t-il une méthode d'adaptation qui fait cette logique pour moi? Sinon, comment pourrais-je implémenter cette logique?
while (callApi){
UserResource userResource = getRetrofit().create(UserResource.class);
Call<BaseResponse<User>> user = userResource.getListUsers(
authController.getTokenHeader(),
ids,
cdCode,
limit,
offset
);
user.enqueue(new Callback<BaseResponse<User>>() {
@Override
public void onResponse(Response<BaseResponse<User>> response, Retrofit retrofit) {
if (response.isSuccess()) {
offset = offset+offset;
callInvoice = false;
}
}
@Override
public void onFailure(Throwable t) {
}
});
}
vous pouvez ajouter params dans api comme moi donner résultat de 1 à 20, dans un autre api 21 à 40, etc. –