2017-02-09 2 views
0

Ich bin ein neuer Android-Entwickler und könnte einige Ratschläge zu einem Problem verwenden, das mir begegnet ist.Android Daten lokal von Amazon API speichern, um Ladezeiten zu reduzieren?

Ich habe eine App, die Daten von der Amazon Product API bei fast jeder Aktivität abfragt, die Sie öffnen. Ich bin in der Lage, die Daten zu erhalten, aber die Aktivitäten dauern ewig, weil ich ständig API-Abfragen ausführen muss.

Die App ist im Grunde eine Videospiel-App. Es wäre nicht ungewöhnlich für Benutzer, die gleichen Daten für ein Spiel mehrmals zu laden. Ich denke, dass es sehr ineffizient ist, api immer wieder dieselben Daten zu verlangen.

Meine Frage ist in diesem Szenario, sollte ich Spieldaten in einer lokalen oder sogar Remote-Datenbank (Firebase) jedes Mal speichern, wenn Daten aus der Amazon API abgerufen werden? Und wann immer Daten abgerufen werden müssen, überprüfe ich zuerst, ob es in der Datenbank vorhanden ist, bevor ich den API-Aufruf tätige.

Wenn dies korrekt ist, wo sollte ich die Daten speichern (gemeinsame Einstellungen, SQLlite, interner Speicher usw.)? Wenn nicht, was kann ich tun, damit die App die Daten schneller anzeigt? &?

Antwort

0

Wenn Sie sagen, dass das Laden von Aktivitäten ewig dauert, nehme ich an, dass Sie diese Aufrufe nicht innerhalb der Aktivitäten tätigen. Und lassen Sie uns Ihre Fragen einzeln beantworten.

1) Gemeinsame Prefs sind keine gute Option. (Versuchen Sie Shared-Einstellungen nur dann zu verwenden, wenn Sie einige Dinge beibehalten möchten). Wenn Sie in diesem Fall den Aufwand beim Schreiben von Hilfsklassen für die Datenbank sparen möchten, können Sie die Daten serialisieren (Interner Speicher). Und es ist vorzuziehen, Daten lokal zu speichern meiner Meinung nach.

2) Fordern Sie die Daten nicht immer an. Aktualisieren Sie sie nur, wenn der Benutzer möchte, dass die Daten aktualisiert werden (hektisch, der Benutzer drückt eine Aktualisierungsschaltfläche). Oder Sie können Daten nach festen Zeitintervallen aktualisieren. Dies kann das Aktualisieren von Überprüfungen im Hintergrund beinhalten, selbst wenn die Anwendung nicht gestartet wird, indem Dienst mit Alarm Manager gestartet wird. Sie müssen jedoch darüber lesen.

Verwandte Themen