2017-03-18 2 views
-2

Ich suche Hilfe auf einer APP, die ich erstellen muss. Ich habe keine Erfahrung mit Android App Entwicklung, aber ich studiere und übe.Sollte ich Arrary oder SQLite-Datenbank verwenden?

Ich versuche eine App zu erstellen, um Zahlungen aus einer Liste von Kunden aufzuzeichnen und eine Quittung auszudrucken, wenn bezahlt wird. Ich lade eine Liste von Kunden mit ausstehendem Kontostand herunter, indem ich json array in android verwende. Jetzt bin ich verwirrt, weiß nicht, ob ich Arrays oder eine Datenbank verwenden soll, um die Liste zu speichern, da ich später auf den Server updaten muss. SQLite scheint eine Option zu sein, aber ich muss die Liste jedes Mal herunterladen, wenn der Benutzer mit WiFi verbunden ist.

Ich denke, ich muss die Zahlungen auf einem Array speichern und es einmal hochgeladen.

Können Sie mir bitte sagen, was wäre die beste Option für die Aufgaben, die ich erreichen möchte.

+0

Wenn Sie Werte speichern und abrufen müssen, ist eine Datenbank das, was Sie wollen. Arrays sind behoben - es sei denn, Sie implementieren keine Möglichkeit, sie in eine Datei zu serialisieren. Darüber hinaus sind Arrays nur für wenige Elemente (z. B. 100 Elemente) verwendbar. Eine Datenbanktabelle kann mehrere Felder enthalten, um Ihnen mehr Details zu geben. Und es ist durchsuchbar, sortierbar, Sie können Aggregationsfunktionen und so weiter verwenden. –

Antwort

1

Es hängt von Ihrem Anwendungsfall ab. Arrays und SQLite können unabhängig voneinander oder zusammen arbeiten.

Wenn Sie die Daten sofort nach dem Herunterladen innerhalb derselben Sitzung hochladen, können Sie sie im Array behalten und sie nach dem, was immer Sie benötigen, hochladen. Denken Sie daran, dass Arrays im Speicher gehalten werden und je nachdem, wo Sie das Array-Objekt behalten, können sie den Lebenszyklus einer Aktivität oder den Lebenszyklus Ihrer Anwendung beibehalten.

SQLite auf dem Handler schreibt Daten auf die Festplatte, so dass Sie in der Lage sind, sie auch dann zu speichern, wenn der Benutzer die Anwendung verlassen hat.

... da ich aktualisieren müssen (Upload) später auf den Server

auf der oben Basierend scheint es, wie Sie Ihre Daten auf der Festplatte bestehen bleiben sollen. SQLite ist eine der Optionen für persistente Daten. Werfen Sie einen Blick auf , um zu sehen, was sonst noch für persistente Daten verfügbar ist.

Sie können alle persistenten Daten in Ihr Array laden und nach der Verarbeitung hochladen.

Hoffe, das hilft.

+0

Danke für die Antwort. Nach dem Hochladen auf den Server muss die lokale SQLite-Datenbank mit den neuen Informationen erneut aktualisiert oder neu erstellt werden. –

+0

Die heruntergeladenen Daten werden vorübergehend verwendet, bis Zahlungen hochgeladen werden. Sobald ich hochgeladen habe, muss ich die DB löschen und mit den neuen Informationen speichern. Ich weiß nicht, ob das der beste Weg ist, aber es hört sich so an. –

+0

Sie können nur die Daten in der aktuellen Datenbank aktualisieren und durch neue Daten ersetzen. – Naveed

Verwandte Themen