25

dies würde wie eine dumme Frage aussehen und es kann aussehen wie ich suchte dort nicht für eine Antwort aber.Wie zu implementieren und zu verwenden Google Cloud SQL in meiner Android-App (Eclipse)

Das Problem ist, dass ich eine Android-App entwickle und an einem bestimmten Punkt I neu über

Google Cloud SQL

und

Google App Engine

so beobachtete ich wie 20-30 Tutorien l und fing an zu implementieren, aber jetzt bin ich fest und kann kein Tutorial finden, das einen Schritt für Schritt einfachen android Code zeigt.

Hier ist, was ich getan habe und wo ich bin in diesem Augenblick fest:

-my android app funktioniert großartig keinen einzigen Fehler

auf ein App Engine-Projekt -created -turned Google Cloud SQL-Dienst und es ist Service API und bezahlt für diese

-created eine Instanz in der Cloud

-und „durch die api cons ole“erstellt eine Tabelle und eine kleine Datenbank in meinem Beispiel

eine App Engine -Generated für meine Anwendungspaket

gesichert Und hier ist es, wo ich stecken geblieben !!! Ich weiß nicht, wie ich die generierten Dateien verwenden soll, wie die Dinge funktionieren, wie ich über meine App auf die Tabelle in der Cloud zugreifen kann, wie das passiert, alle Tutorials überspringen diesen Schritt einfach so, als ob es das wäre die einfachste Sache der Welt.

Ich möchte nur wissen, wie die Dinge zusammenarbeiten? Wo muss ich die Methoden korrigieren, was muss ich tun, um meine Daten aus der Tabelle in der Instanz in der Cloud zu erhalten ...

Ich würde mich über jeden Link freuen :) Danke.

+1

einen Monat später und ich konnte es immer noch nicht herausfinden ... Ich bin nicht vertraut mit Servlets und Endpoint-Klassen Logik ... Ich lese viele Tutorials und alle sind über Web-Anwendungen, aber ich entwickle ein Android Anwendung und ich brauche nur den Code für den Zugriff auf meine Cloud SQL-Datenbank lesen und schreiben von der App auf dem Telefon läuft ... irgendjemand? :(Es ist mein Senior-Projekt :( – Owehbeh

Antwort

10

deckt Wenn Sie nicht haben dies noch herausgefunden, das ist, was ich tat.

Notieren Sie in der Entwicklerkonsole Ihre Projektnummer und Ihren API-Schlüssel. Stellen Sie außerdem sicher, dass Ihre Cloud-Instanz den Zugriff auf Ihre Projekt-ID ermöglicht.

  1. Erstellen Sie ein App-Engine-Verbindungsprojekt. Datei> Neu> Andere> Android> App Engine Verbundenes Android-Projekt.
  2. Geben Sie Ihre Projektnummer und den API-Schlüssel ein.
  3. Sobald Sie das Projekt erstellt haben, klicken Sie mit der rechten Maustaste auf das generierte App-Engine-Projekt> Google> App Engine Setting und geben Sie Ihre Projekt-ID in der Entwicklerkonsole im Feld Application ID ein.
  4. Rechtsklick auf die App Engine-Projekt generieren> Google> Generieren Cloud-Endpoint-Client-Bibliothek
  5. Rechts das generieren klicken Projekt App Engine> Google> zu App Engine bereitstellen

Jetzt können Sie Sie aus SQL-Datenbank aufrufen Wolke die Android App. aber Sie müssen es als AsyncTask tun. Es hat nicht funktioniert, bis ich das getan habe. Erstellen Sie eine AsyncTask-Klasse und stellen Sie im doInBackground eine Verbindung zu Ihrer Datenbank her. Ich habe meins wie folgt aus:

public class Connect extends AsyncTask<Context, Integer, Long> { 

    protected Long doInBackground(Context... contexts) { 

     Connection connection; 
     String query = "Some query"; 
     try { 
      Class.forName("com.mysql.jdbc.Driver"); 
      connection = DriverManager.getConnection("jdbc:mysql://<your cloud IP address>/<database schema you want to connect to>", "<user>", "<password>"); 

      Statement statement = connection.createStatement(); 
      ResultSet resultSet = statement.executeQuery(query); 

Wenn Sie bereits ein Android-Projekt erstellt, genau richtig, dieses Projekt klicken> Google> Generieren App Engine Backend und beginnen Sie mit Schritt 2. Ich hoffe, das hilft.

+0

Es sieht so aus, als ob Sie den Code nicht in seiner Gesamtheit veröffentlicht haben. Würde es Ihnen etwas ausmachen, alles hinzuzufügen? Vielen Dank. – user2323030

+0

Das ist alles was Sie brauchen führen Sie die Abfrage aus und tun Sie, was Sie wollen – Gabriel

+0

Wie würden Sie dies mit Google Endpoints tun? – Micro

5

Sie sind fast da. Der empfohlene Mechanismus für Sie besteht darin, die von App Engine gehostete Funktionalität über einen REST-Service verfügbar zu machen und diese Dienste von Ihrer Android-Anwendung aus aufzurufen.

Google erleichtert Ihnen die Verwendung der Cloud Endpoints-Funktion. Dies wird dazu beitragen, einen Endpoints Service (denke REST Service) für Ihr Mobile Backend zu generieren. Es generiert außerdem eine Reihe von Client-Klassen (in .java für Ihre Android-Anwendung), mit denen Sie die Dienste von Ihrem Android-Client aus problemlos aufrufen können.

Schauen Sie sich diese in detaillierte Anleitung, die „How to build a mobile app with an App Engine backend

+0

Vielen Dank für Ihre Antwort Ich ging durch dieses Tutorial, aber ich werde es anwenden, vielleicht wird es danach klar. Nochmals vielen Dank :) – Owehbeh

+2

Ich ging durch dieses Tutorial, aber es tut nicht sagen Sie nichts über den Zugriff auf Cloud SQL. Es zeigt nur Datenspeicher ... – Micro

Verwandte Themen