web-dev-qa-db-ja.com

Androidアプリ(Eclipse)でGoogle Cloud SQLを実装して使用する方法

これは馬鹿げた質問のように見え、私は答えを探し出さなかったように見えるかもしれません。

問題は、Androidアプリを開発していて、ある時点で、

Google Cloud SQL

そして

Google App Engine

だから私は20-30チュートリアルのように見て実装を始めましたが、今は行き詰まっており、ステップごとのシンプルなAndroidコードを示すチュートリアルを見つけることができません。

ここに私がやったことと私が今立ち往生しているところがあります:

-my Androidアプリは単一のエラーなしでうまく機能しています

-App Engineプロジェクトを作成した

-Google Cloud SQLサービスとそのAPIサービスをオンにして支払い

-クラウドにインスタンスを作成

-「APIコンソールを介して」インスタンスとテーブルと小さなデータベースを作成しました

-アプリケーションパッケージ用のApp Engineを生成

そして、ここで私は行き詰まりました!!!生成されたファイルの使用方法、動作方法、アプリからクラウド内のテーブルにアクセスする方法を知りません。その方法を説明するチュートリアルを見つけることができません。すべてのチュートリアルでは、あたかもそのステップをスキップします。世界で最も簡単なこと。

物事がどのように連携するのか知りたいだけですか?メソッドをどこで修正するか、クラウドにあるインスタンスのテーブルからデータを取得するために何をしなければならないか...

どんなリンクでも結構です:)ありがとうございます。

28
Owehbeh

これをまだ理解していない場合は、私がやったことです。

開発者コンソールで、プロジェクト番号とAPIキーをメモします。また、クラウドインスタンスがプロジェクトIDへのアクセスを許可していることを確認してください。

  1. App Engine接続プロジェクトを作成します。ファイル>新規>その他> Android> App Engine Connected Android Project。
  2. プロジェクト番号とAPIキーを入力します。
  3. プロジェクトを作成したら、生成されたApp Engineプロジェクトを右クリックし、[Google]> [App Engine設定]を選択し、デベロッパーコンソールから[アプリケーションID]フィールドにプロジェクトIDを入力します。
  4. 「app app engineプロジェクトを右クリック」>「Google」>「Cloud Endpointクライアントライブラリを生成」
  5. 「App Engineプロジェクトを生成」を右クリックし、「Google」>「App Engineにデプロイ」を選択します

これで、AndroidアプリからクラウドSQLデータベースを呼び出すことができます。ただし、AsyncTaskとして実行する必要があります。これを行うまで機能しませんでした。AsyncTaskクラスを作成し、 doInBackgroundをDBに接続します。

  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);

Android=プロジェクトを既に作成している場合は、そのプロジェクトを右クリックして[Google]> [App Engineバックエンドを生成]を選択し、ステップ2から始めます。これが役に立てば幸いです。

12
Gabriel

あと少しです。推奨されるメカニズムは、RESTサービスを介してApp Engineがホストする機能を公開し、これらのサービスをAndroidアプリケーションから呼び出すことです。

Googleは、Cloud Endpoints機能を使用してそれを簡単に行うことができます。これは、モバイルバックエンド用のEndpointsサービス(RESTサービスと考える)を生成するのに役立ちます。また、クライアントのセットも生成します(.JavaでAndroid =アプリケーション)Androidクライアントからサービスを呼び出すために簡単に使用できます。

App Engineバックエンドを使用してモバイルアプリを構築する方法 」をカバーするこの詳細なチュートリアルをご覧ください。

6
Romin