Also mache ich eine Wetter App und ich fand, wenn die App zu lange im Leerlauf ist und zerstört, dass die Prognosedaten verloren gehen. Daher denke ich, dass die beste Lösung darin besteht, die Daten im internen Speicher zu speichern und sie bei Bedarf wiederherzustellen.Android Schreibklasse in den internen Speicher
Die Klasse, die die Daten enthält, hat 2 Arrays anderer Datenklassen und enthält alle Strings, Ints und Doubles.
Was ist der beste Weg, um diese Daten zu speichern? Die Optionen, die ich gesehen habe, sind eine Einstellungsdatei oder sie in einer Datei im lokalen Speicher zu speichern.
Ich dachte nicht, dass die Voreinstellungsdatei funktionieren würde, weil es so klingt, dass mehr für kleinere Datenmengen gedacht ist.
Ich habe versucht, in lokalen Speicher zu speichern, aber das ist nicht gut gelaufen. Sie sind nicht sehr damit vertraut, Bytes manuell in einer Datei zu speichern, und die Android-Entwicklerhandbücher sind nicht sehr umfassend. Ich habe versucht, es zu serialisieren, bekomme aber den nicht serialisierbaren Fehler. Was das Schreiben der Bytes betrifft, so habe ich es richtig geschrieben, indem ich mit getBytes Strings in Bytes umwandelte, die Ints speicherte und Doubles in Strings umwandelte, dann mit getBytes. Ich bin mir nicht sicher, ob das überhaupt der richtige Weg ist, und ich bin mir nicht sicher, wie ich die Bytes lesen soll, weil man eine bestimmte Anzahl davon lesen muss. Muss ich herausfinden, wie viele Bytes jede Art von Daten sein wird? Zum Beispiel, um den Typ der Zeichenfolge zu finden, die die Anzahl der Bytes für diesen Datentyp codiert und liest?
Was wäre der beste Weg, um dies zu tun? Soll ich nur die Einstellungsdatei verwenden? Kann mir jemand entweder sagen, wie oder wieso ich auf eine Ressource zum Lesen von Daten aus einer Datei wie dieser? Jede Hilfe wäre willkommen.
haben Sie SQLite versucht? – HendraWD
Hatte keine Erfahrung mit Datenbanken, nächste Sache zu studieren. Ich kann mir vorstellen, dass das wahrscheinlich der beste Weg ist. Ich habe das serialisierbare Problem herausgefunden, also denke ich, dass ich auf alles aufgepasst habe. Danke für den Vorschlag. – jBob