Datenspeicherung

  • Hallo zusammen,


    ich schreibe gerade eine kleine Anwendung für mich und bin dabei auf ein allgemeines Problem gestoßen, welches sich nicht nur auf meine Anwendung bezieht.


    Wie speichere ich eigentlich am sinnvollsten Daten auf meinem Gerät?


    Folgenden Gedankengang hatte ich für meine App.


    Mit dieser App möchte ich mein Körpergewicht "überwachen".
    Auf der ersten GUI zeige ich mir alle Einträge an, auf einer weiteren GUI kann ich neue Datensätze hinzufügen.


    Ich hatte nun vor, diese Datensätze als XML-Datei auf der SD-Karte zu speichern.
    Ein Datensatz sieht nun wie folgt aus:



    Der Gedanke dahinter war eigentlich, dass die Daten so schön strukturiert sind und ich sie auch für andere Anwendungen verwenden könnte.



    Als ich nun zu dem Punkt kam, Datensätze hinzuzufügen musste ich feststellen, dass das in XML so ja gar nicht machbar ist.
    Heißt also, ich müsste das gesamte XML-File in den Speicher holen, einen Datensatz hinzufügen und wieder zurückschreiben.


    Bei wenigen Datensätzen mag das machbar sein, aber wie sieht das aus, wenn es richtig viele werden?
    Ich befürchte da, dass ich in Speicherprobleme laufen könnte, da wir hier ja von Mobiltelefonen sprechen.



    Wie würdet ihr so etwas angehen.
    Ist meine Ansatz gut und meine Sorge um den Speicher unbegründet oder würdet ihr anders vorgehen?


    Freue mich auf eure Antworten und Ideen.



    Gruß LStrike

  • Ich würde das in ne SQLite Datenbank speichern und eine Option zum Export als XML anbieten.
    Vorteile:
    - schnellerer Zugriff als XML
    - man muss nicht Alles im RAM vorhalten
    - man kann bei Updates, die die Datenbank verändern, ganz leicht bestehende Daten portieren. Bei XML kriegt man da keine Hilfe vom Framework


    Klasse, die du dir anschaun solltest: SQLiteOpenHelper

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!