2016-03-25 3 views
1

Wie erstellt man offline den ersten RecyclerView in Android, damit die Benutzer die Liste immer noch sehen können, wenn sie keine Internetverbindung haben?Wie erstellt man offline RecyclerView in Android? Und wie aktualisiert man nur die neuesten Daten?

Ich weiß bereits, wie man JSON parsen und in RecyclerView füllen, das Problem ist, Benutzer können immer noch nicht zugreifen, wenn offline. Und wenn ich Cache mit SQLite verwende, wie aktualisiere ich nur die neuesten Daten vom Server?

zum Beispiel, ich habe bereits 3 Daten vom Server und füllt ihn in RecyclerView wie folgt aus:

  • Daten 3
  • Data 2
  • Daten 1

Danach gibt ist ein Update vom Server, so dass es 4 Daten vom Server gibt. Ich möchte nur die 4. Daten ohne Last vom 1. hinzufügen. Und sein Gehen zu sein wie:

  • Daten 4 -> nur diese Daten aus der Vergangenheit, ohne Neuladen der RecyclerView hinzufügen
  • Data 3
  • Data 2
  • Daten 1

Grüße , Elmer

+0

Erstellen Sie eine Methode im Adapter, wo Sie die Position und Daten an sie übergeben können. Fügen Sie die Daten der Liste des Elements hinzu, das Sie bereits im Adapter mit Position haben, und verwenden Sie notifyItemInserted (Position). –

Antwort

1

Ich habe etwas ähnliches in diesem Projekt getan: https://github.com/isaacurbina/MyMovies/blob/master/app/src/main/java/com/mobileappsco/training/mymovies/Fragments/ResultsFragment.java

Grundsätzlich verwende ich eine AsyncTask, um Daten zu laden, während der Benutzer nach unten scrollt und mehr Inhalt lädt (so wie 9GAG oder Pinterest), um einen "Seiten" -Zähler zu verwalten.

Dann, wenn ich die Daten erhalte, schließe ich sie dem List-Objekt mit list.addAll (results) an, was zu einer anderen ArrayList <> derselben Art führt. Dann können Sie adapter.notifyDataSetChanged() auf Ihrem RecyclerViewAdapter verwenden und es wird sie super schnell hinzufügen, oder Sie können eine Animation verwenden, um anzuzeigen, dass sie langsam hinzugefügt werden.

Ich hoffe es hilft, mit freundlichen Grüßen!

Verwandte Themen