Ich mache eine Android-Anwendung. Da es so einfach ist, dachte ich zuerst, ich könnte die Notwendigkeit einer Java-Anwendung auf dem Server, der als Middleware fungiert, einfach eliminieren. Ich habe versucht, direkt eine Verbindung zur Datenbank mit dem JDBC-Treiber für MySQL herzustellen, aber mein Programm stürzt ab, daher bin ich mir nicht sicher, ob Android den JDBC-Treiber für MySQL "unterstützt".
Ich denke also darüber nach, wie man die Anwendung implementiert. Im Grunde schreibt die Anwendung einige Daten aus einer entfernten MySQL-Datenbank und ruft einige Daten aus einer entfernten MySQL-Datenbank ab.
Verbinde ich mich mit einem Java-Server-Programm unter Verwendung von Sockets (oder einer anderen Methode der Kommunikation)? Oder könnte ich eine direkte Verbindung zur MySQL-Datenbank aus der Client-Anwendung implementieren?
Ich habe versucht, direkt mit dem zu verbinden Datenbank mit dem JDBC-Treiber für MySQL aber stürzt mein Programm so ab Ich bin mir nicht sicher, ob Android das "unterstützt" JDBC-Treiber für MySQL.
Niemals nie einen Datenbanktreiber über eine Internetverbindung, für irgendeine Datenbank, für irgendeine Plattform, für irgendeinen Client, irgendwo verwenden. Das gilt doppelt für Mobilgeräte. Datenbanktreiber sind für LAN-Vorgänge konzipiert und nicht für flockige / unterbrochene Verbindungen oder hohe Latenz ausgelegt.
Stellen Sie eine Verbindung zu einem Java-Server-Programm her mit Sockets (oder einer anderen Methode von Kommunikation)?
Es muss nicht Java sein. Es muss nur etwas sein, das für den Gebrauch über das Internet bestimmt ist. Wie der Kommentar von Mr. King andeutet, wurden Web-Dienste für einen Großteil des letzten Jahrzehnts dafür verwendet. Für Android sind REST-Webdienste wahrscheinlich am einfachsten zu verwenden, da es keine integrierte Unterstützung für SOAP oder XML-RPC gibt. Aber ob der Web-Service in Java oder PHP oder Perl oder SNOBOL implementiert ist, liegt bei Ihnen.
Nun, OK, vielleicht wird SNOBOL keine brauchbare Option sein. : -)