8
votes

Comment mettre à jour ListView sur le défilement lors de la récupération des données du serveur à Android?

Actuellement, j'utilise l'asynctaque pour gérer la connexion HTTP et récupérer des données comme format JSON.
Chargement de toutes les données est trivial mais elle consomme trop de temps, j'ai donc décidé de basculer pour charger 10 éléments à la fois en utilisant Compensation de limite (mySQL).
Ensuite, j'ai configuré l'événement olfroll pour ma liste de liste pour créer un nouveau asyncccttack chaque fois que vous écrivez. Cependant, à partir de ce que j'ai lu, AsynccTask est stocké dans une piscine de threads qui est limité 5 threads à la fois, je ne suis donc pas sûr que ce soit une bonne approche. Je suis NEWBIE à l'application client / serveur, alors que quelqu'un pourrait-il me donner un conseil sur cette question? Toute article connexe, la documentation serait grandement appréciée.


0 commentaires

3 Réponses :


12
votes

Voici quelques liaisons utiles pour cela,

Android: implémentation de la barre de progression et "Chargement ..." pour une liste sans fin comme Android Market

Endless ListView avec la tâche ASYNC actuelle

Liste sans fin Android

http://www.androidguys.com/2009/ 10/12 / Tutorial-Autogrowing-ListView /

http://mylifewithandroid.blogspot.com/2010/03 /progressivement-loading-listviews.html

en étapes simples,

En tant qu'utilisateur Scrolls - Détectez la fin de la liste
1) Afficher une progression Notification
2) Demander la mise à jour
3) Recevez la mise à jour (asynchrone) et Étendre la liste


1 commentaires

Liste merveilleuse! Merci beaucoup.



2
votes

Si vous utilisez un listview , je pense que je peux supposer en toute sécurité que vous devez utiliser une sorte de listAdapter . Au lieu de démarrer un nouvel asynctack dans l'événement olfroll , vous devez gérer un seul autre asyncktask pour extraire des données du serveur, ajouter ces données à The listAdapter dataset puis appelez notifydatastetchedged sur la liste (code>.

Le listAdapter et listview prendra soin du reste.


0 commentaires

2
votes

Une approche typique serait E.G. Charger 25 Initialement, puis-je avoir un pied de page dans la liste qui affiche E.G. Le nombre actuel et le nombre total de comptes et en appuyant sur des charges supplémentaires 25, etc. Ce serait une sorte de chargement.

Lorsque vous faites cela, vous devez conserver la position actuelle et informer l'adaptateur que la liste a changé.


0 commentaires