Android Studio を使用して、バックエンドをローカルで実行し、テストして、デプロイできます。
ローカルでのバックエンドの実行とテスト
エンドポイント バックエンド テンプレートを追加したら、ローカルでテストして、環境が正しく動作することを確認する必要があります。バックエンド テンプレートをローカルで実行するには、次のようにします。
[Run] > [Edit Configurations] をクリックして [Run/Debug Configurations] フォームを開きます。
バックエンド モジュール テンプレートをプロジェクトに追加すると、バックエンド用の新しい実行構成が作成され、この構成の名前がバックエンドの作成時に割り当てたモジュールの名前となることに注意してください。
左側のペインの [App Engine DevAppServer] で、追加したバックエンド モジュールを選択し、[OK] をクリックします。
[Build] > [Rebuild Project] をクリックしてプロジェクトの作成が完了するまで待機します。
[Run]、[Run]
<your-backend-module-name>
の順に選択して、Android Studio のローカル App Engine 開発用サーバーでバックエンドを起動します。バックエンドが開発用サーバーで起動するまで待機します。バックエンドのロードが完了すると、以下のようなメッセージがコンソールに表示されます。
Jun 18, 2014 4:07:30 PM com.google.appengine.tools.development.AbstractModule startup INFO: The admin console is running at http://localhost:8080/_ah/admin Jun 18, 2014 4:07:30 PM com.google.appengine.tools.development.DevAppServerImpl doStart INFO: Dev App Server is now running
Android Studio プロジェクトを実行しているパソコンで、http://localhost:8080 に移動します。問題がなければ次のページが表示されます。
(表示されるページはエンドポイント バックエンド用です。他のバックエンド タイプのページはこれと若干異なります。)
このページの上部にあるリンク、特に Google Cloud コンソールに移動するリンクで、プロジェクトの作成または構成ができます。開発とテスト作業が完了したら、バックエンドをデプロイするためのプロジェクトが必要になります。
ここでは、テンプレートからのデフォルトのバックエンドが正常に稼働しています。 ただし、Android アプリはまだバックエンドに接続していません。 バックエンドにアクセスする場合、以下の README ファイルの中で該当するものに記載されているように、Android アプリにコードを追加する必要があります。
- App Engine Java Servlet Module
- App Engine Java Endpoints Module
- App Engine Backend with Google Cloud Messaging
バックエンドに設定したいユーザー定義の動作も追加する必要があります。
API エクスプローラを使用したエンドポイント バックエンドのテスト
エンドポイントを持つバックエンドは、内蔵された Google API エクスプローラを使って API の機能を直接テストできます。
前述のとおり、バックエンドをローカルで起動し、実行します。
Android Studio プロジェクトを実行しているパソコンで http://localhost:8080/_ah/api/explorer に移動します。問題がなければ、次のようなページが表示されます。
API 名(myApi API)をクリックすると、この API で利用できるメソッドが表示されます。
メソッド(myApi.sayHi)をクリックすると、このメソッドのエクスプローラ フォームが表示されます。
入力フィールド値を指定します(値がある場合)。たとえば、デフォルトのバックエンドを使用して、自分の名前を [name] フィールドに指定します。[Execute] をクリックし、予想どおりのレスポンスがあることを確認します。
バックエンドのデプロイ
ローカルで動作しているバックエンドを Google App Engine にデプロイできます。
バックエンドをデプロイする前に、バックエンド用の Cloud プロジェクトを作成してそのプロジェクト ID をバックエンドに追加する必要があります。この手順は、バックエンド テンプレートの README(Servlet Module/Endpoints Module/Backend with Google Cloud Messaging)に記載されています。バックエンドを Android Studio から App Engine にデプロイする手順は次のとおりです。
バックエンドがローカルで実行されている場合は、[Run] > [Stop] を選択して停止します。
[Build] > [Deploy Module to App Engine] を実行します。
- このタスクを初めて実行する場合、Google アカウントでのログインを求めるメッセージが表示されます。アカウントを選択してログインします。
[Deploy to App Engine] ダイアログで、モジュールを選択します。[Deploy To] プルダウン リストで、Google Cloud コンソール プロジェクト(ここでは
backend-example-352
)を選択します。プロジェクトを新たに作成する必要がある場合、または別のアカウントでログインする必要がある場合は、プルダウン リストの最後までスクロールします。
- プロジェクトを新たに作成する場合、プルダウンの最後までスクロールし、[Click Here] をクリックします。Google Cloud コンソールが表示され、プロジェクトを作成できます。Android Studio のダイアログに戻り、更新ボタンをクリックすると、プルダウンに新しいプロジェクトが組み込まれます。この新しいプロジェクトを選択します。
- 新しいアカウントを作成する場合、または別の既存のアカウントを指定する場合は、プルダウンの最後までスクロールして、[Add Account] をクリックします。
[Deploy to App Engine] ダイアログで [Deploy] をクリックします。デプロイ状況は Android Studio コンソールから確認できます。