2017-05-29 7 views
1

Meine Android App holt Daten aus dem Internet (node.js Server).Android: Daten lokal speichern oder nicht?

Der Benutzer erstellt eine Liste von Elementen (normalerweise 20-30, aber es kann bis zu 60+). Für jeden Gegenstand frage ich den Server ab, um Informationen für diesen Gegenstand zu erhalten. Sobald diese Information abgerufen wurde (pro Element), wird sie sich nicht mehr ändern, aber neue Datensätze werden im Laufe der Zeit hinzugefügt (ein anderer Server-Aufruf, der nicht mit dem vorherigen verbunden ist).

Meine Frage ist entweder speichern diese Informationen lokal (sqlite?) Oder holen diese Informationen vom Server jedes Mal, wenn der Benutzer danach fragt (ich erinnere Sie an die Anzahl der Anrufe).

Was sollten meine Richtlinien sein, ob es lokal oder nicht anders als "Geschwindigkeit" gespeichert wird?

Antwort

1

Wenn Ihre Elemente nicht variieren, sollten Sie sie lokal als Cache speichern. Trotz der Tatsache, dass die Daten mayn't wirklich groß sein, Benutzer es erlaubt wird, wie Ihre Anwendung benötigen weniger Internetnutzung, was zu langen Wartezeiten führen kann, Timeouts usw.

Sie Gebrauch von Retrofit machen könnte um die Anrufe zum Webservice zu tätigen.

Wenn es darum geht, Daten lokal in einer Android-Anwendung zu speichern, können Sie sie auf verschiedene Arten speichern.

Am einfachsten ist es, gemeinsame Einstellungen zu verwenden. Ich würde dir dieses Mal nicht vorschlagen, da du einige Objekte benutzt.

Die zweite ist die Verwendung einer unverarbeiteten SQLite-Datenbank.

Allerdings würde ich vermeiden, SQL-Abfragen zu machen und versuchen, ORM-Frameworks. In Android können Sie mehrere finden, wie GreenDAO, ORMLite und so weiter. Dies ist die Wahl, die Sie treffen sollten. Und glauben Sie mir, Sie könnten ORMs zunächst ziemlich schwer verstehen, aber wenn Sie lernen, wie sie funktionieren und welche Vorteile sie uns bieten, werden Sie sie lieben.

+1

Ich ziehe es vor, mich auf so wenig "Addons" wie möglich zu verlassen. Wenn ich also verstehe, dass diese Informationen lokal gespeichert werden, wird dies auch für Caching-Zwecke empfohlen. – Amos

+0

Ja, es wird empfohlen. Sie sind keine Addons, es gibt Bibliotheken, die den Core-Android verbessern. Darüber hinaus werden sie häufig von anderen Anwendungen verwendet. – russellhoff

1

Sie sollten über die "offline zuerst" Prinzipien lesen.

Zusammengefasst haben mobile Benutzer nicht immer eine stabile Internetverbindung (auch keine Verbindung) und die Nutzung Ihrer Anwendung sollte nicht von einem Vollzeit-Internetzugang abhängig sein.

Sie sollten entscheiden, welche Daten für Offline-Speicher auslösbar sind. Es hängt hauptsächlich davon ab, auf was der Benutzer am häufigsten zugreifen soll.

+0

Es bedeutet, dass ALLE Daten immer lokal gespeichert werden sollten. Ich bin mir nicht sicher, ob das eine gute Übung ist oder fehlt mir etwas? – Amos

+0

Sie können entscheiden, welche Daten für die Offline-Verwendung lesbar sind oder nicht. –

+0

Es ist wirklich eine gute Übung. Das Problem wäre zu bestimmen, wie lokale Daten mit dem Web-Service zu synchronisieren, aber wie Sie uns gesagt haben, variieren die Elemente nicht, so ziemlich einfach. – russellhoff

Verwandte Themen