Effizientere Altinative für SharedPreferences

  • Antworten:9
Gelöschter Account
  • Forum-Beiträge: 2.492

10.10.2014, 18:08:31 via Website

Hallo,

manche kennen vielleicht meine App Zahlenspiel. In der App sind ja mehrere Reihen und Spalten von Zahlen (Buttons).
Als ich die App entwickelt habe war ich noch ein frischer Anfänger und habe die SharedPreferences am besten verstanden, deswegen habe ich mit Hilfe von den SharedPrefs die Fortlaufende Nummer, die Zahl und den Status von jeder Zahl (jedem Button) gespeichert und außerdem noch einige andere wichtige Variablen.
Bei einer Menge von 30000 Zahlen die man nach einiger Zeit Spielen (oder mutwillig) bekommen kann wird das Spiel ziemlich langsam. Besonders, da ich nach jeder Eingabe erneut speicher.
Meine Fragen:
Gibt es eine effizientere Alternative um zu jeder Zahl/zu jedem Button mehrere Sachen zu speichern? eine Datei, Datenbank,... (die paar anderen Variablen könnte ich ja noch per SharedPrefs speichern)
Und ist es nötig nach jedem "Zug" alles zu speichern? Ich habe das gemacht, da ich dachte man kann ja die App per Home Button beenden und dann ist nix gespeichert. Oder würde es dann noch gehen in der onDestroy Methode alles zu speichern?

Würde mich über Hilfe sehr freuen :) Falls etwas nicht verstanden wurde gerne fragen :P

— geändert am 10.10.2014, 18:17:20

Antworten
Steffen S.
  • Forum-Beiträge: 63

10.10.2014, 18:30:31 via App

Speichere es nicht bei jeden Zug, nur bei onPause(), also wenn Activity pausiert wird.

Das wäre jetzt die schnellste Lösung ohne Groß umzuprogrammieren . Aber nicht die beste. Alternative wäre ne Datenbank.

Edit:
Wann lädst die Daten wieder?

— geändert am 10.10.2014, 18:34:09

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.492

10.10.2014, 18:41:23 via Website

Okay und in onDestroy auch oder ist das da nicht nötig?
Geht das Speichern in eine Datenbank wirklich schneller?

Auch direkt nach dem Speichern. Ich weiß das ist extrem schlecht aber ich wusste früher nichts besseres. Wenn ich es jetzt in der onPause speicher könnte ich es doch am besten in der onResume wieder laden oder?

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.492

10.10.2014, 18:55:05 via Website

Okay und es würde keinen Fall geben in dem die onPause nicht aufgerufen wird oder?

Antworten
Steffen S.
  • Forum-Beiträge: 63

10.10.2014, 18:55:57 via App

onPause wird immer aufgerufen , außer die App schmiert ab

— geändert am 10.10.2014, 18:56:20

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.492

10.10.2014, 18:57:56 via Website

Okay danke dann werde ich das mal machen das sollte das alles ja schonmal um einiges besser machen.

Antworten
Steffen S.
  • Forum-Beiträge: 63

10.10.2014, 18:59:06 via App

wenn weiter Hilfe brauchst kannst gerne PN schreiben. Helf gerne

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

10.10.2014, 19:02:15 via Website

@Steffen: Wofür haben wir denn ein Forum, es gibt ja auch andere Leute, denen die Probleme bzw. die Lösung der Probleme helfen.

LG Pascal

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Steffen S.
  • Forum-Beiträge: 63

10.10.2014, 19:12:02 via App

ja schon,

ich mein auch mehr Richtung feintuning und nicht Probleme .

Antworten