7 Stimmen

Speichern großer Daten lokal oder online für die Android-App?

Erstes Mal posten und erstes Mal Android entwickeln, also mach es mir leicht, wenn ich gegen Regeln verstoße :)

Wie auch immer, ich habe gerade angefangen, eine Android-App zu erstellen, und ich versuche, ein einfaches Trivia-Spiel zu erstellen. Ich plane, viele Fragen (hoffentlich über 5000 Fragen) zu erstellen. Es erfolgt keine Datenmanipulation, nur das Lesen der Fragen und deren Präsentation an den Benutzer. Jetzt stehe ich vor dem Dilemma, wie ich die Fragen speichern soll.

Ich habe zwei Möglichkeiten:

1.) Die Fragen mit der App bündeln: Möglicherweise die Informationen in SQLite speichern. Ursprünglich platzierte ich die Fragen zu Demonstrationszwecken in einer XML-Datei, aber ich erkannte schnell, wie ineffizient es sein würde, sobald die Fragen sich häufen. Zuerst bin ich besorgt, ob das Öffnen einer so großen XML-Datei den Speicher von Android aufbrauchen würde. Zweitens mache ich mir Sorgen, wie groß die App wäre, wenn sie 5000+ Fragen enthält. Ich habe hier über die Vor- und Nachteile von XML gegenüber SQLite gelesen. In diesem Beispiel hat der Benutzer 70.000 Einträge, also würden meine 5.000 Fragen vielleicht ausreichen?

ODER

2.) Die Fragen auf einem Server hosten: Ich glaube, der Vorteil wäre, dass die App nicht mit einer großen Anzahl von Fragen gebündelt werden müsste und man sich nicht um die Logik des Öffnens und Zusammenstellens der Fragen kümmern müsste. Sie würde einfach eine PHP-Seite aufrufen und je nach den gesendeten Parametern würde die PHP-Seite die Fragen im XML-Format zurückgeben. Der Nachteil wäre, dass der Benutzer online sein müsste (um die Fragen abzurufen), um das Spiel zu spielen, und mein Server müsste 24/7 aktiv sein.

Hat jemand dieses Designproblem schon einmal erlebt, wie und wo man eine große Menge an Daten in einer Android-App speichert?

Vielen Dank, jede Hilfe wäre sehr geschätzt!

8voto

Henley Punkte 19500

Von einem Marketingstandpunkt aus denke ich, dass der richtige Ansatz #1 ist. Wenn man sich nur die Top-App-Liste ansieht, sind dort Apps, die offline funktionieren. Ich weiß nicht, warum die meisten Leute versäumen, dieses eine wichtige Kriterium zu erwähnen, wenn sie über Marketing-Apps sprechen... besonders bei Android, wo viele Leute keinen Datentarif haben. Außerdem klingt eine Trivia-App wie etwas, das jemand wahrscheinlich während einer Zugfahrt benutzen würde, im Gegensatz zu etwas wie Facebook Chat, das sie nutzen würden, wenn sie online sind.

Von einem technischen Standpunkt aus wird das Speichern von über 5000 Fragen wirklich nicht viel Platz einnehmen. Es gibt diese App namens "MyFitnessPal". Sie speichert vielleicht über 30.000 Lebensmittel in einer SQLite-Datenbank mit Nährwertinformationen. Also überschätze nicht, wie viel Platz es einnehmen wird.

Der Vorteil bei Variante #2 liegt darin, dass, wenn sich die Fragen oder Antworten oft ändern, könnte es sinnvoll sein, diesen Ansatz zu wählen.

2voto

Android-Droid Punkte 14169

Ich denke, die beste Option für dich ist, die Fragen in SQLite zu speichern. Auf diese Weise haben die Benutzer Zugriff auf dein Spiel, auch wenn sie offline sind, was wie Hisoka erwähnt hat, wichtig ist. Also Ich denke, du solltest versuchen, SQLite zu verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X