2016-07-13 7 views
0

Ich bin neu bei Webservices oder Datenbanken im Internet (ich habe lokale Datenbanken verwendet). Ich entwickle eine Android-App basierend auf Google Maps, die auf meine Datenbank zugreifen muss, um Markierungen zu speichern/anzufordern, und auf diese Datenbank von Tausenden von Geräten zugreifen muss (oder ich hoffe).Benötige ich einen Webserver oder nur eine Datenbank?

Benötige ich einen Webserver, damit die Anwendung im Internet die Datenbankoperationen verwalten kann? oder kann ich die Datenbank von jedem Gerät aus aufrufen? Ich denke, dass das später ziemlich unsich ist, aber ich weiß wirklich nichts über diese Angelegenheit.

Auch für die Antwort, sollte ich Amazon Web Services oder Google App Engine verwenden? Ich habe gelesen, dass Google App Engine einfacher zu implementieren ist, aber ich weiß nicht, was ich für diese Anwendung benötige.

EDIT 1: Meine App-Benutzer müssen Marker in der Datenbank speichern. Wenn Alice einen Marker in New York speichert, muss Bob auch diesen Marker sehen. Marker sind nicht persönlich, sie sind global. Aus diesem Grund muss jeder Benutzer auf die gleiche Datenbank zugreifen.

Antwort

1

Nun, scheint mir, dass Sie eine Datenbank benötigen, die die Marker Breiten- und Längenwerte speichert. Dies kann auf verschiedene Arten geschehen, wie Sie wahrscheinlich herausgefunden haben.

Allerdings empfehle ich Ihnen aufschauen Googles eigenenFirebase, die folgendes hat:

Firebase structure

ich mit ihren Echtzeit-Datenbank vor kurzem begonnen und es ist wirklich einfach zu bekommen in plus sie haben a große Android-Integration. Ein weiterer großer Pluspunkt ist, dass es kostenlos ist und ich nicht über eine Studie sprechen, es ist verkehrsbasiert.

Erste Schritte mit Firebase für Android gestartet: https://firebase.google.com/docs/android/setup

Proben für Android: https://firebase.google.com/docs/samples/#android

+0

Danke für die Antwort. Also, ich habe nur die Datenbank und dann greife ich darauf von meiner Android App zu? Ich brauche keine Logik (Webserver)? Entschuldigung, aber ich bin ziemlich neu. –

+0

Es ist in Ordnung! Sie sollten Fragen stellen, und das ist keine Schande. Firebase ist im Grunde ein Online-Tool. Um den mühsamen Prozess der Implementierung von Datenbanken und der Einrichtung von Benutzern usw. zu vereinfachen, hat Firebase all das! Sie können Benutzer in sehr einfachen Schritten authentifizieren, und alles geschieht über den eigenen Webserver von Google. Alles, was Sie tun müssen, ist Ihren Google-Entwickler-Account einzurichten und voila !, Cookies für alle – Mazze

+0

Auch ich vermute, der Benutzer interagiert nur mit der Anwendung und Ihre App muss die Benutzerinformationen irgendwo speichern? – Mazze

0

Nach meinem Wissen und Verständnis für Android, vor allem Sie nicht in der Lage sein, um Server-Datenbank direkt in Android-App zu verbinden und wenn Sie es tun können, dann überprüfen Sie unten die Nachteile davon.

Es gibt eine Reihe von Gründen.

1. Sicherheit - Wenn der Benutzer direkten Zugriff hat, können sie alles aus Ihrer Datenbank abrufen. Außerdem haben sie ein Passwort in Ihrer Datenbank. Wenn der von Ihnen verwendete SQL-Server einen Fehler aufweist, kann er sie ausnutzen. Wenn Ihre Berechtigungen falsch eingerichtet sind, kann die Datenbank gelöscht werden.

2. Geschwindigkeit - Wenn die Benutzer häufig große Abfragen verwenden, kann es Ihr System schnell und unnötig blockieren. Wenn Sie ein Webinterface durchlaufen, können Sie es drosseln.

3. Zugänglichkeit - Webabfragen werden von fast allem unterstützt. Es erfordert spezielle Clients, um direkt auf SQL-Datenbanken zuzugreifen.

Also, Sie sollten nicht direkt zugreifen, stattdessen sollten Sie Web API entwickeln und darauf zugreifen.

Hoffnung ypu bekam den Punkt, was ich sagen möchte

+0

So schlagen Sie zum Beispiel, nur Google App Engine anstelle einer Datenbank verwenden? obwohl ich keine Webschnittstelle benötige, nur die Logik, die auf die Datenbank zugreift. App-Nutzer rufen dann meine Web-API an, um auf die Datenbank zuzugreifen, und sie haben keine Hinweise auf meinen Google-Acc/Pass? –

+0

Ja, siehe Web-Interface und Web API beide sind verschiedene Dinge, Web-Interface eine Website in Browser bietet für die Benutzer zu verwalten und zu handhaben, wenn Web-APIs nicht sichtbar sind Benutzer zu beenden und es wird gearbeitet nur im Hintergrund ohne jede Art von UI und verwalten Sie die Anfrage und Antwort für Server und Datenbank. – Vickyexpert