Datenbank der App aktualisieren

B

bark24

App-Anbieter (Werbung)
0
Hallo Leute,
ich arbeite derzeit mit einem Kumpel an einer App. Die App greift dabei auf Daten aus einer Datenbank zu. Ich suche nun noch der möglichst besten Methode, um die Daten in der Datenbank zu aktualisieren. Zum größten Teil wird das aktualisieren daraus bestehen, das neue Datensätze zu verschiedenen Tabellen hinzugefügt werden. Es kann aber auch mal durchaus dazu kommen, dass nur Rechtschreibfehler oder andere Sachen von einem Datenfeld verbessert werden oder bestimmte Datensätze gelöscht werden. Dies möchte ich jedenfalls nicht ausschließen.

Nun zu meinem Ist-Zustand:
Derzeit habe ich in meiner App eine SQLite Datenbank. Diese Datenbank habe ich am Computer erstellt und in Android Studio dem Asset-Ordner hinzugefügt. Auf die Datenbank greife ich dann mit Hilfe eines Database-Helpers, von der App aus zu. Das funktioniert auch alles so wie es soll und daran habe ich nichts zu meckern. Das Problem ist jetzt, dass ich bei jeder Aktualisierung der Datenbank auch die App im Store aktualisieren muss, damit jeder auf die neusten Daten zugreifen kann. Jetzt ist das mit dem App Update immer so eine Sache. Da kann man sich ja nie wirklich sicher sein, dass der Anwender die Updates auch alle ausführt. Außerdem wird es auf Dauer echt nervig, wenn man wegen ein paar Datensätzen nicht nur die Datenbank anpassen muss, sondern auch noch die App neu in den Store hochladen muss etc. Wenn jetzt später neben dem Google Play Store auch noch andere Quellen hinzukommen, z.B. Amazon Store, macht es das alles nur noch aufwendiger, die App bzw. die Daten aktuell zu halten.

Ich bin jetzt auf der Suche nach der bestmöglichen Lösung, um die Aktualisierung der Datenbank von der 'Aktualisierung' der App zu trennen. Ich habe mir da schon ein paar Gedanken gemacht und wollte hier einmal nachfragen, ob das so gut umsetzbar/machbar ist und/oder ob es da vielleicht auch bessere Wege gibt, die mir zurzeit nicht bekannt sind. Ich habe nämlich wenig Lust das jetzt alles zu aktualisieren, um dann in einem halben Jahr eine viel bessere Lösung zu finden, sodass ich dann wieder alles aktualisieren muss. Ich möchte also wenn es geht diese ganzen Zwischenschritte vermeiden.
Ich habe mir jetzt gedacht, dass ich auf meinem Webspace eine Datei ablegen kann. Anhand dieser Datei kann ich dann überprüfen, ob die Datenbank auf dem neusten Stand ist. Dies ist noch nicht allzu schwer. Jetzt ist allerdings die Frage, wie ich die Datenbank am Besten aktualisiere, wenn diese nicht auf dem neusten Stand ist. Eine Idee war z.B. dass ich dann in einer Datei die ganzen SQL-Befehle speicher, die ausgeführt werden müssen, um auf den neusten Stand zu kommen. Die App liest dann diese Befehle aus und führt sie anschließend durch.
Eine andere Überlegung von mir war, dass ich in einer Datei die Daten speicher, die dann in der Datenbank stehen sollen und ich so irgendwie die Datenbank in meiner App aktualisiere, indem ich die Datei auslese. Da stellt sich mir allerdings die Frage, wie ich die Datei auf meinem Webspace am Besten aufbaue. Also in welchem Format diese sein soll. Dann wäre auch noch die Frage, wie ich mithilfe der Datei nicht nur Datensätze hinzufügen kann, sondern einzelne Datensätze auch bearbeiten oder löschen kann.
Ich hoffe mein Problem/meine Frage ist klar geworden.

Vielleicht stand irgendjemand von euch mal vor einem ähnlichen Problem oder kann mir so sagen, wie ich das am Besten umsetzen kann. Ich will auch keine ganze Bibel von euch haben. Ihr müsst mir also nicht Schritt für Schritt erklären was zu machen ist, aber so ein paar Kapitel bzw. die Grundidee wäre nicht schlecht. Also welcher Weg am Besten ist. Wie ihr das vielleicht schon mal umgesetzt habt.
Also abschließend nochmal die Frage:
Wie aktualisiere ich am Besten die Datensätze der Datenbank in meiner App, ohne dass ich die ganze App aktualisieren und in den Store neu hochladen muss?

Ich bedanke mich schon mal für eure Zeit und eure Hilfe.
 
@bark24

Hallo,

was spricht denn gegen die Auslagerung der DB aus den Assets nach der Installation ?
Dann liegt die im physischen Teil des Systems und kann jederzeit bearbeitet werden ( was dann online passiert)
 
Zuletzt bearbeitet:
Genau das habe ich vor. Also die Datenbank aus den Assets auszulagern. Die Frage ist jetzt halt, wie ich das am Besten umsetze, dass ich die Datenbank dann online aktualisieren kann.
 
Ich setze es so um :

a) Grundstock der DB in der App-Assets mitliefern.
b) Beim ersten Launch einen synchronierten Export der DB Datei in den internen Storage.
c) Verbindung via PHP - Versionsprüfung - REST/JSON/Filetransfer aufbauen (was auch immer) ,
Datensätze mit eindeutiger UniqueID updaten/hinzufügen/löschen.
(Oder ein gesamtes ASCII-Paket (z.b. CSV) als ZIP-Datei schnüren und mergen)

Fertig ist der Käse.

Oder du nimmst gleich eine Firebase- DB
 
Zuletzt bearbeitet:

Ähnliche Themen

S
Antworten
33
Aufrufe
2.674
Sempervivum
S
M
Antworten
3
Aufrufe
169
moin
M
Manny87
  • Manny87
Antworten
11
Aufrufe
166
swa00
swa00
Zurück
Oben Unten