2016-04-26 18 views
-1

Wie kann ich Daten/Variablen im Speicher meines Smartphones speichern? Ich möchte diese Variablen in meiner Anwendung lesen und schreiben. Dies können einfache Zeichenfolgen wie Benutzernamen, IDs oder Kennwörter sein. Diese Variablen können jedoch auch eigene Klassenobjekte mit mehreren Byte-Arrays und Listen mit Byte-Arrays sein. Ich habe von sharedPreferences gehört, aber ich denke, mit ihnen kann ich nur die Standardobjekte wie Strings und Zahlen speichern. Ich hoffe, Sie haben einige TippsSo speichern Sie Daten dauerhaft im Smartphone

+0

Android unterstützt SQLite-Datenbanken. Obwohl sie nicht als permanent bezeichnet werden können, wird Db gelöscht, wenn die Daten der App gelöscht oder die App deinstalliert wird. – crashOveride

+0

Sie können die SQLite-Datenbank innerhalb des Assert-Ordners speichern und in Ihrer App darauf zugreifen. –

+0

@VishalPatolia ** 1 ** - Die Daten sind schreibgeschützt, es sei denn, Sie kopieren sie nicht und verwenden die Kopie. ** 2 ** - Die Datenbank wird bei der Deinstallation mit dem Ordner "Assets" gelöscht. –

Antwort

1

Es gibt verschiedene Möglichkeiten.

1) Klassische Art und Weise:

Android verwendet eine SQLite-Datenbank: es ist der Ort, wo es Kontakte, SMS, MMS und alles in Ihrem Handy.

Sie können here lernen, wie Sie die Android-Standarddatenbank verwenden.

2) ORM Weise:

ein ORM ist ein Werkzeug verwendet, einfacher mit der Datenbank zu kommunizieren. Sie können alle Objekte Ihrer Datenbank mit einer Codezeile speichern, löschen oder abrufen. Es gibt verschiedene ORM für Android, ich benutze Sugar ORM, weil es sehr einfach zu implementieren und zu verwenden ist. Versuchen Sie, die Dokumentation hier zu lesen: sugar getting started

Wenn Sie in der Welt von Android beginnen, empfehle ich Ihnen, den klassischen Weg zu lernen. Aber denken Sie daran, dass ORM zunehmend verwendet wird!

+0

Mit SQlite ist es möglich, Byte-Arrays und Arrays von Byte-Arrays zu speichern. Vielleicht hilft ein Beispiel: Ein Benutzername sollte als Byte-Array gespeichert werden, damit ich ihn lesen und vergleichen kann. Es gibt auch eine Liste von Gruppen-IDs (alle sind Byte-Arrays), also möchte ich die Liste auslesen und jede ID mit einer gegebenen ID vergleichen. –

+0

Ich denke, dass das Speichern einer Liste als Entity nicht möglich ist, Sie müssen eine spezifische Struktur wie eine Tabelle für 'groupId' erstellen, die aus der ID und dem Fremdschlüssel für den Besitzer besteht. Aber, eine andere Möglichkeit ist die Verwendung von Zucker orm und das Erstellen einer Benutzerklasse mit einer ID-Liste und einem Benutzernamen. Dann erstellen Sie eine ID-Klasse, die den Benutzernamen als String enthält, und speichern sie dank ORM. Schau mal hier: https://github.com/satyan/sugar/issues/60 –

0

Ein guter Anfangspunkt ist Androiden SQLite databases. Sie können Daten dauerhaft machen, indem Sie sie manuell in eine Datei auf Ihrer SD-Karte schreiben. Lesen Sie mehr dazu im Link.