Attualmente sto usando AsyncTask per gestire la connessione Http e recuperare i dati in formato JSON.
Il caricamento di tutti i dati è banale ma consuma troppo tempo, quindi ho deciso di passare a caricare 10 elementi alla volta utilizzando LIMIT OFFSET
(mysql).
Successivamente ho impostato l'evento onScroll
per la visualizzazione elenco per creare un nuovo AsyncTask
ogni volta che l'utente scorre. Tuttavia, da quello che ho letto, AsyncTask
è memorizzato in un pool di thread che è limitato 5 thread alla volta, quindi non sono sicuro che questo sia un approccio corretto. Sono novizio per l'app client/server, quindi potrei darmi un consiglio su questo problema? Qualsiasi articolo correlato, la documentazione sarebbe molto apprezzata.Come aggiornare ListView sullo scorrimento durante il recupero dei dati dal server in Android?
risposta
Ecco alcuni link utili per esso,
Android: Implementing progressbar and "loading..." for Endless List like Android Market
Endless Listview with current Async Task
http://www.androidguys.com/2009/10/21/tutorial-autogrowing-listview/
http://mylifewithandroid.blogspot.com/2010/03/progressively-loading-listviews.html
in semplici passi,
Come utente scorre - rilevare la fine della lista
1) Visualizzare un progresso notifica
2) Richiesta aggiornamento
3) Ricevere aggiornamento (in modo asincrono) e estendere la lista
Se si utilizza un ListView
, credo di poter presumere che si stia utilizzando una specie di ListAdapter
. Invece di avviare un nuovo AsyncTask
nell'evento onScroll
, è necessario mantenere un solo AsyncTask
per recuperare i dati dal server, aggiungere tali dati al set di dati ListAdapter
e quindi chiamare notifyDatasetChanged
su ListAdapter
.
Il ListAdapter
e il ListView
si prenderanno cura di tutto il resto.
Un approccio tipico potrebbe essere ad es. caricare 25 inizialmente e quindi avere un piè di pagina nell'elenco che visualizza ad es. il conteggio corrente e il conteggio totale e alla pressione carica altri 25 e così via. Quello sarebbe un tipo di caricamento impaginato.
Quando si esegue questa operazione è necessario mantenere la posizione corrente e informare l'adattatore che l'elenco è stato modificato.
- 1. ClassCastException durante il recupero dei dati dal bundle su Android
- 2. Recupero dei dati memorizzati dal database in ListView.
- 3. Recupero dei dati dal database a listview non riuscito
- 4. Recupero periodico di dati (polling) dal server in Android
- 5. Android: EditText perde contenuto sullo scorrimento in ListView?
- 6. Recupero dei dati dell'ultimo evento aggiunto dal calendario Android
- 7. Come reimpostare il ListView con l'ArrayAdapter dopo il recupero dei dati
- 8. Fatturazione Android in app - Errore durante il recupero delle informazioni dal server
- 9. Aggiunta e recupero dei dati dal contesto richiesta
- 10. come aggiornare l'elenco dei rami remoti in git dal server?
- 11. Come gestite i thread separati durante il recupero dei dati in iOS?
- 12. Come aggiornare ottimisticamente l'elemento in un ListView
- 13. Recupero dei dati da JList
- 14. Prevenire il recupero dei frammenti in Android
- 15. Android ListView Abbassa per aggiornare
- 16. Visualizzazione di un pulsante di eliminazione sullo scorrimento in un listview per Android
- 17. Android - Come scaricare i dati sullo sfondo in determinati orari
- 18. Recupero continuo dei dati dal database utilizzando Java
- 19. ListView Android Aggiornamento dal vivo
- 20. Android marshmallow listview lo scorrimento diventa sfocato
- 21. Recupero dei parametri dal file delle proprietà
- 22. Virtualizzazione dei dati WPF ListView
- 23. Textarea mostra uno spazio extra durante il recupero dal database?
- 24. Come visualizzare un messaggio "Caricamento in corso ..." durante il recupero degli oggetti per un ListView
- 25. Come aggiornare jQuery DropdownChecklist dal lato server?
- 26. Come aggiornare SimpleAdapter in Android
- 27. Come proteggere un'API Web dal recupero dei dati non dal proprietario della risorsa
- 28. I controlli di impaginazione non vengono visualizzati in ng-table durante il recupero dei dati dal backend
- 29. Streaming dei dati dal server al client con Meteor:
- 30. come aggiornare listview personalizzato utilizzando baseadapter in Android
Elenco meraviglioso! Molte grazie. – Cathy
sempre il benvenuto amico mio !! –