Lokale Datenbank online synchronisieren

  • Antworten:15
Jonas
  • Forum-Beiträge: 15

25.07.2016, 23:47:06 via App

Guten Abend zusammen.

Ich habe mich ein wenig mit dem Thema SQLite auseinander gesetzt. Das ist auch eine super Sache. Allerdings funktioniert das ja nur lokal.

Ich möchte eine kleine App bauen, welche auch nicht in den AppStore soll. Sie soll lediglich einige Infos von einer Kartenspiel runde entgegen nehmen und diese speichern.

Problem ist, dass ich nicht immer dabei bin und daher die Datenbank gerne online hätte.

Ist es möglich, dass ich eine SQLite Datenbank auf einen Server lege und von der App darauf zugreife? Sodass quasi die Leute die mit spielen auch die App haben und die Ergebnisse des Abends eintragen können.

Oder muss ich das ganze dann mit MySQL/PHP/XML lösen?

Gruß Jonas

— geändert am 26.07.2016, 07:51:27 durch Moderator

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

26.07.2016, 07:50:55 via App

Hallo Jonas!
Ich habe mir mal erlaubt deinen Titel anzupassen, damit er aussagekräftiger ist. Bitte achte beim nächsten Thread darauf. Tipps dazu findest du hier

Im allgemeinen brauchst du einen Server mit dem du Synchronisierst. Dieser brauch eine DB und eine Api um die Daten übertragen. Jetzt must du dich entscheiden ob du alles selber machen willst (php/json/mysql)oder ob du vorgefertigte Systeme von z.b von Google nutzt.

— geändert am 26.07.2016, 07:52:42

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

Jonas

Antworten
swa00
  • Forum-Beiträge: 3.704

26.07.2016, 08:02:15 via Website

Hallo Jonas,

wie Pascal schon angemerkt hat , kannst du auch ggf die Google Drive API verwenden

https://developers.google.com/drive/android/

Liebe Grüße - Stefan
[ App - Entwicklung ]

Jonas

Antworten
Jonas
  • Forum-Beiträge: 15

26.07.2016, 09:33:53 via App

Danke erstmal für die Antworten!

Da sieht für mich als Anfänger doch recht umfangreich aus. Werde mich in das ganze Thema wohl erstmal richtig reinlesen müssen.

Wie genau meinst du das mit den JSON Dateien? Wie kann ich das aus der App also JSON File auf den Server uploaden oder wieder abrufen?

Habe leider mit JSON keine wirkliche Erfahrung.

Gruß Jonas

Antworten
Jonas
  • Forum-Beiträge: 15

26.07.2016, 10:05:42 via App

Danke, das hat mir schonmal einen Überblick verschafft. JSON ist als auch so etwas wie XML wenn ich das richtig verstanden habe.

Aber wie kann ich das ganze aus einer App realisieren?

Ich habe zum Beispiel ein EditText indem der Gewinner des Abends eingetragen wird. Wie ich sowas mit SQLite realisieren kann weiß ich inzwischen, aber wie ich das ganze auf anderen Geräten zur Verfügung stelle weiß ich leider nicht.

Ich nehme an, dass ich dann z. B. eine JSON Datei mit dem Gewinner parse und die auf den Server lade, welche ich dann irgendwie in einem ListView ausgeben kann?

Habe allerdings keine Ahnung, wie ich sowas realisieren kann.

Gruß Jonas

Antworten
swa00
  • Forum-Beiträge: 3.704

26.07.2016, 10:18:46 via Website

Hallo Jonas,

denke nicht so kompliziert.

Bei SQL speicherst/liest du die Records in einer Tabelle , das ist dir bekannt .
Ergo hast du das Handling deiner Daten schon realisiert.

Ob du jetzt deinen Record (Struktur) in eine DB, in eine Datei oder JSON sicherst ist schnuppe.

Wenn du dir die Google Drive API anschaust, dann ist der Vorgang so , als würdest du in etwa eine lokale Datei zum abspeichern benutzen , nur dass sie halt auf der Cloud ist.

Und wenn du sie wieder lesen magst , dann machst du diese Datei wieder auf .
Von der Cloud aus können dann alle Teilnehmer wieder zugreiffen ( gleicher Account natürlich notwendig)

Natürlich kannst du das Ganze auch per Apache / PHP /MySql etc. realisieren , aber dafür benötigist du irgendwo auch einen eigenen Server.
Die Homevariante wäre ein aufgesetzter Raspberry mit Dymanischer Adresse - ( auch hier z.b. Apache/ PHP /MySql)

— geändert am 26.07.2016, 10:22:38

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Jonas
  • Forum-Beiträge: 15

26.07.2016, 10:46:02 via App

Alles klar, die Raspberry Variante ist definitiv keine Option, ist auf viel zu viel Aufriss für das bisschen. Die App soll ja nur das Papier ablösen ;)

In Sachen Daten in JSON Files speichern, auslesen und in Views ausgeben muss ich mich nochmal schlau machen. Vielleicht finde ich da ja ein schönes Tutorial.

Genauso wie auch die Kommunikation mit der Google API.

Danke schonmal!
Ich befürchte, dass ich mich nochmal melden werde :)

Gruß Jonas

Antworten
swa00
  • Forum-Beiträge: 3.704

26.07.2016, 11:28:57 via Website

Hallo Jonas ,

ich denke , dass sich alle hier ein wenig freuen würden , wenn du auch den "Danke" - Knopf in Zukunft verwenden könntest.

Ich glaube, dieser Klick bringt dich noch nicht um :-)

— geändert am 26.07.2016, 11:29:15

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Jonas
  • Forum-Beiträge: 15

26.07.2016, 12:09:29 via App

Wo finde ich den Button in der App?

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

26.07.2016, 14:18:44 via App

Den gibts es nur auf der Webseite

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

Antworten
Jonas
  • Forum-Beiträge: 15

26.07.2016, 14:20:12 via App

Okay, dann versuche ich später noch daran zu denken.

Vielleicht kann man den ja auch in die App integrieren :)

Antworten
Jonas
  • Forum-Beiträge: 15

26.07.2016, 20:45:49 via App

Also ich habe sehr viel gegoogelt und versucht zu diesen Themen etwas herauszufinden.

Es ist allerdings sehr schwierig, ein Tutorial oder zusammenhängende Dokumentation zu finden.

Kann mir vielleicht jemand Literatur empfehlen, oder eine Seite? Die eben solche Zugriffe auf Online Datenbanken oder Dateien erklärt?

Ich habe leider so gar keine Ahnung, wie ich das ganze Thema angehen soll. Dabei will ich ja nur eine simple Datenbankabfrage in ein ListView ausgeben und das eben von ca. 5 Geräten aus.

Gruß Jonas

Antworten
swa00
  • Forum-Beiträge: 3.704

26.07.2016, 23:21:35 via Website

Hallo Jonas,

um Dir ansatzweise weiterzuhelfen , beantworte mal bitte erst folgende Fragen :

a) Ist es richtig , dass du bereits deine App soweit fertig hast , dass Du die Ergebnisse deiner Zockerrunde lokal in eine Sqlite schreibst ?
b) Ist es Richtig dass du auch diese Daten wieder ausliesst und diese wieder anzeigst ??

Eine "Onlinedatenbank" so wie du sie nennst/benötigst , gibt es mE nicht fertig - das musst du selbst machen.
Das ist im Prinzip ein HTTP Server, auf dem du dann mittels PHP ein "Program" schreibst und dann mit deiner App dahin die Daten schickst und auf diesem Server die Daten dann in einen SQL Datenbank schreibst.
(Vereinfacht ausgedrückt)

Anstatt einer Datenbank kannst du auch eine Datei verwenden. Diese kann lokal , oder auf einer Cloud sein ..
Bei dieser Technik könntest du die Google Cloud (Drive API) verwenden. Die wäre schon fertig .

Einen link zu Beispielen und Quellcode habe ich dir oben schon mitgeteilt.

— geändert am 26.07.2016, 23:23:43

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Jonas
  • Forum-Beiträge: 15

30.07.2016, 23:48:03 via App

Sorry, dass es so lange gedauert hat.

Ja, das ist beides richtig.

Gruß Jonas

Antworten