Daten in einer online MySQL Datenbank speichern?

  • Antworten:5
Heretsu
  • Forum-Beiträge: 37

19.11.2014, 20:06:51 via Website

Schönen abend!
Vorweg: Ich habe bereits sehr viele Threads gelesen, bin aber als Neuling(Dazu kommt noch, dass Datenbanken nie so mein Ding waren) nicht klar gekommen. Hab mich ebenfalls schon in einige Threads die hier im Forum veröffentlicht wurden durchgelesen. Und einige Arbeitsblätter, die wir von der Schule bekommen haben, bin ich auch schon durchgegangen, natürlich nichts verstanden :/.
Kommen wir zum Problem.
Ich habe ein Quiz, dass zur Zeit den Rekord Lokal speichert, wunderbar.
Ich möchte dies nun ausweiten und die Rekorde der Spieler online speichern.
Ich habe heute bereits einen Gratis Server gefunden, der einen positiven Eindruck macht(http://www.000webhost.com/, hat jemand damit bereits Erfahrungen gemacht?). Ebenfalls hab ich mir folgendes Tutorial durchgelesen und weitesgehend angewendet:http://community.clickteam.com/threads/87185-Online-High-Score-Tutorial
Problem hierbei ist aber, dass es ein Tutorial für Apps ist, die mit "Fusion 2.5" erstellt worden sind, mein Project ist aber in Eclipse geschrieben.
Desweiteren habe ich einige php Dateien, die bereits auf dem Server liegen.
Ich hab aber keine Ahnung wie ich das ganze nun im Quellcode hinschreiben soll bzw auch Wo ich es hinschreiben soll(Extra Klasse oder da, wo die Highscores im Moment lokal gespeichert werden?). Also, ich muss erfahren, wie ich das z.B den Highscore als JSON abspeicher und in die online Datenbank transferiere, Danach sollen die Highscores in einer anderen Activity via Internetverbindung angezeigt werden.

Ich hoffe ihr konntet mein Problem einigermaßen verstehen. Ebenfalls hoffe ich, dass mir jemand bei meinen Problemen weiterhelfen kann.

vielen Dank!

mfg

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

19.11.2014, 21:32:05 via App

Hallo Heretsu,
Zuerst musst du dir überlegen ob es wirklich selber entwickelt sein mussoder ob dir seitens Google angebonenen Mittel reichen.
Google bietet in der GooglePlay Games api schon funktionen für Highscore etc. an. Suche mal danach und entscheide ob dir das reicht.
Dann brauchst du eine PHP api die dir eine Verbindung zur Online MySql herstellt.[PHP fragen bitte in meinem PHP Sammelthread hir im Forum schreiben]
Ablaufen tut fas ganze dann so:
Spiel beendet->highscore speichern->Daten an dein PHP schicken-> php macht ein insert in MySql.
Von der Logik her ist das nicht so schwieig. Das Problem ist nur, dass du jeden user in deiner DB auch authentifizieren musst,sonst weisst du nacher nicht mehr welcher User jetzt welchen Highscore gemacht hat.

Also ersmla Brauchst du ein DB komzept welche Tabellen etc. es geben soll. Danach entwickelst du die Passende Api und diese kannst du dann per HttpClient/HttpUrlConnection benutzen und Dsten transferieren.

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

Antworten
Heretsu
  • Forum-Beiträge: 37

19.11.2014, 22:49:51 via Website

Abend, danke für deine Antwort(schon wieder mal :P)
Das mit dem Google Play Highscore habe ich heute Mittag auch schon entdeckt, aber dafür braucht man so wie ich es verstanden habe einen Entwickleraccount, richtig? Und da die App ein Schulprojekt ist und ich nicht wirklich vor habe sie im Play Store zu vertreiben wär das nicht so rentabel. Andere Idee: Der Bruder meiner Freundin hat so einen Entwickleraccount, könnte er dann theoretisch die App im Play Store hochladen und ich könnte somit den Google Play Highscore hinzufügen?
Würde nämlich ziemlich gerne das Angebot von Google Play einbinden, da es zu einem viel einfacher vom Aufwand ist und da jeder Android User Zugang dazu hat.
MfG

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

19.11.2014, 23:33:24 via App

Also so wie ich das verstanden habe musst du nur in deinem google Account diese Einstellungen machen.
Suche mal nach eine Anleitung dafür und teste es einfsch mal aus.

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

Antworten
Heretsu
  • Forum-Beiträge: 37

20.11.2014, 20:41:59 via Website

Abend, die Methode mit dem Google Play service fällt schon mal weg, mein Lehrer möchte, dass wir mit JSON arbeiten und eine eigene DB anlegen usw.
Nungut, ich habe heute eine Datenbank angelegt.
3 PHP Dateien für die Verbindung usw sind auch schon fertig und auf dem Server.
Wenn ich es richtig verstanden habe, muss ich jetzt nur noch JSON Objekte benutzen, korrekt?
Ich blick da aber ganz und gar nicht durch.
Ich brauche den Integer score und den String name als JSON, aber da diese keinen festen wert haben(Die Punktzahl und der Name sind ja nicht immer gleich), weiß ich nicht wie ich es realisieren soll.
In allen Beispielen sah JSON z.B so aus:

        {"surname":"Swa",
"name":"Android",
....
}

Wie kriege ich die Information von score und name da rein?
Und muss ich dafür eine neue Activity erstellen oder könnte dies z.B in die ResultActivity, wo einem das Ergebnis angezeigt wird?

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

20.11.2014, 20:54:19 via App

Du brauchst sowas wie ein Json Creator (suche mal bei google). Diesem übergibtst du Key Value Pairs und dann wird dir daraus ein Json Objekt erstellt.
Dieses kannst du dann zum Server schicken.

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

Antworten