2016-05-24 17 views
0

Ich schreibe eine Android-Anwendung in Java und habe folgende Probleme.Speicherdaten für bestimmte Daten

Ich möchte einige Daten speichern, die ich an verschiedenen Tagen in der Woche loggen. Und ich möchte diese Daten beispielsweise in einem Diagramm anzeigen und mir die Daten zeigen, die zu diesem Datum protokolliert wurden. Meine Frage ist, was ist die beste Methode, um dieses Problem zu lösen. Soll ich eine SQLite-Datenbank verwenden oder kann ich meine Daten in der Liste speichern? Es sollte schnell und einfach zu handhaben sein, wenn ich die Daten verwende, um es in meinen Statistiken zu zeigen (zB Diagramm) oder um nach bestimmten Daten zu filtern.

+0

Diese Frage ist vage. Zu so wenigen Informationen können keine spezifischen Empfehlungen abgegeben werden. Sie sollten das Geschäftsproblem so einfach wie möglich beschreiben. Geben Sie konkrete Beispiele für Daten an. Geben Sie eine Vorstellung von der Größe der Daten, Dutzenden von Elementen, Millionen? –

Antwort

1

Sie möchten eine Methode verwenden, die während der Ausführung Ihres Programms persistent ist, und natürlich wird eine Datenbank dauerhaften Speicher bereitstellen. Wenn Sie eine Liste verwenden, müssen Sie sie irgendwie im Speicher speichern (vielleicht durch Serialisierung in eine Datei).

+0

Ok danke für deine Antwort, sollte ich für die Tage verschiedene Tabellen verwenden? – developKinberg

+0

@developKinberg Nun, ich weiß nicht genug über die Daten, die Sie speichern möchten, aber ich empfehle, für jeden Tag eine Zeile zu verwenden, alles in einer Tabelle. – SamTebbs33

1

Die Frage ist zu vage und fehlt im Detail, um spezifische Vorschläge zu geben. Aber hier sind einige grobe Ideen.

nur wenige Daten, einfache Daten

Für kleine Mengen von Daten in einfachen Listen, die in den Speicher passen, schreiben Werte in Textdateien. Ich würde die Apache Commons CSV Bibliothek verwenden, um mit der Aufgabe des Schreibens der Dateien in Comma-separated oder Tab-delimited Formate zu assistieren.

nur wenige Daten, etwas komplizierten Daten

Für etwas komplizierte Objekte in einer Sammlung zu speichern, die in den Speicher passen können, verwenden Sie die Simple XML Serialization Bibliothek.

viele Daten und/oder sehr komplizierte Daten

Wenn Sie große Datenmengen, die nicht bequem in den Speicher passen oder Sie haben viele zusammenhängende Listen, die als verknüpfte Tabellen gespeichert werden sollen, verwenden Sie eine relationale Datenbank . SQLite ist in der Tat sehr lite, als Alternative zum Schreiben in Dateien gedacht, nicht dazu gedacht, gegen vollwertige Datenbanken zu konkurrieren. Für ernsthaftere Datenbankarbeit empfehle ich die H2 Database Engine, in reinem Java gebaut.

Seien Sie sicher zu lernen:

1

oben auf die Antworten hinzuzufügen - speziell und da Sie danach gefragt - Sie sollten auf jeden Fall sqlite über die Serialisierung Ihrer eigenen Datei betrachten.

Die 2013 PostgreSQL Conference Keynote präsentiert einige aufschlussreiche Statistiken über die Vorteile der Verwendung von SQLite über flache Dateien. Sqlite ist laut seinem Ersteller (der die Keynote hielt) "ein Ersatz für fopen()" und verwendet eine ausgereifte, vertraute SQL API, so dass es perfekt zu Ihren Bedürfnissen passt.

+1

Leider hat SQLite keine definierten Datentypen und hat wenig Unterstützung für Datum und Uhrzeit. SQLite könnte funktionieren. Das ursprüngliche Poster hat uns wirklich nicht genug Informationen gegeben, um eine klare Empfehlung abzugeben. –

Verwandte Themen