Neueinsteiger - Fragen zu Datenbanken

  • 2 Antworten
  • Letztes Antwortdatum
N

Nono

Neues Mitglied
1
Hallo zusammen,

ich bin recht neu in der Appentwicklung, allerdings kann ich schon ein bisschen Java und ich mache schon lange Webentwicklung. Also das Programmieren sollte erstmal nicht das Problam sein. Ich hätte allerdings erstmal grundlegende Fragen zur Appentwicklung im Bezug auf Datenbanken.

Ich möchte versuchen eine App zu entwickeln, die von der Struktur her ähnlich wie Quizduell ist. Also es sollen sich zwei Spieler zu einem Spiel zusammenfinden und dann nacheinander Fragen beantworten. Bei meiner Idee sind es zwar nicht direkt Fragen, aber ich sag das jetzt hier mal so um das was ich Wissen möchte besser beschreiben zu können.

Also die Fragen müssen ja denke mal irgendwo in einer Datenbank stehen. Ich habe bis jetzt etwas von MySQLite gelesen. So wie ich das verstanden habe ist die Datenbank dann aber immer direkt auf dem Smartphone gespeichert. Ist das wohl bei Quizduell auch so? Oder ist das eher unüblich für sowas? Ich denke es wäre ja besser dafür eine Datenbank im Internet zu nehmen wo jede App drauf zu greift, aber dazu hab ich noch kaum was gefunden. Ist sowas auch möglich? Also dass man mit einer App auf eine im Internet liegende Datenbank zugreift? Und falls ja, wo würde die Datenbank dann liegen? Ich kenne das aus der Webentwicklung, dass die Datenbank dann direkt auf dem Host liegt, wo auch die Website gehostet wird. Aber das ist bei der Appentwicklung ja so nicht direkt möglich. Also wie würde man sowas lösen?

Dann würde ich noch gerne wissen wie man das löst, dass sich zwei Spieler zu einem Spiel zusammen finden. Ich hätte die Idee das auch über eine Datenbank zu machen. Also wenn ein Spieler auf "Start" klickt dann wird sozusagen ein neues Spiel angelegt in der DB und wenn ein zweiter Spieler "Start" klickt dann kommt er in die Zeile in der DB dazu und dann startet das Spiel. Aber dafür müsste ich erstmal wissen wie das läuft mit den Datenbanken. Oder löst man sowas ganz anders?

Das wars erstmal, ich hoffe mir kann das jemand erklären.
Viele Grüße
 
Du bentwortest zum teil deine eigenen Fragen selber.

Du hostest einen Server für deine App auf die die Clients zugreifen.
Dort wird auch alles weitere in Bezug auf die Ablauflogik von statten gehen.

Die Clients sollten lediglich die Anfragen für eine Partie senden und die Fragen erhalten.

In deiner app brauchst du eig gar keine Datenbank anlegen(außer du willst evtl. Statistiken auf den Clients speichern um die Datenbank zu entlasten falls du so ein fueture einplanst)

Viele empfehlen für solche Arten von App kommunikationen einen WebService zu benutzen da das am sichersten für die datenbankabrfrage ist und um Manipulationen von seiten der clients vorzubeugen.

Du brauuchst also eine client applikation und eine für den Server.

Viel erfolg und gutes lernen


lg jaiel
 
Du kannst eine Datenbank auf einen Server auslagern, und dort bei Bedarf von dort die Fragen laden.

Es gibt mehrere Gründe, die eine modifizierte Vorgehensweise nahelegen. Zum saugt jede Internetkommunikation (Wlan, LTE, UMTS) den Akku des Device relativ schnell leer. Jede App, die solche ein Verhalten zeigt, fliegt meist relativ schnell vom Smartphone. Auch habe viele Tablets nur ein Wlan-Modul, haben unterwegs keine Verbindung zum Internet. Und viele Leute gehen recht sparsam mit ihren Datenvolumen um. Und manchmal hat man einfach kein Netz.

Ein anders Argument ist die Geschwindigkeit. Niemand wartet gerne, bis eine Frage geladen wurde. Bei schlechten Empfang kann es schon mal mehrere Sekunden dauern.

Die bessere Möglichkeit wäre eine App, die ihre Fragen in einer SQLite - Datenbank speichert. Und gelegentlich überprüft, ob neue Fragen auf den Server liegen. Und wenn dass der Fall ist, kann die App die neuen Fragen laden. Webservice weiß ich nicht. Google favorisiert seit 5 Jahren UrlConnection für Internetverbindungen. Alle andern Schnittstellen, wie HttpClient, werden nicht mehr aktiv weiterentwickelt. Bei Benutzung muss man Performanceneinbußen rechnen, neben anderen Nachteilen. Am besten wäre eine Schnittstelle, die dem REST Paradigma folgt. Representational State Transfer
 
  • Danke
Reaktionen: kosmus
Zurück
Oben Unten