メニュー
Amazon API Gateway
開発者ガイド

API Gateway で生成された Android SDK を使用する

このセクションでは、API の API Gateway で生成された Android SDK を使用するステップを説明します。先に進む前に、API Gateway コンソールを使用して API 用の SDKを生成する のステップを済ませている必要があります。

注記

生成された SDK は、Android 4.4 以前とは互換性がありません。詳細については、「既知の問題」を参照してください。

API Gateway で生成された Android SDK をインストールして使用するには

  1. ダウンロード済みの API Gateway で生成された .zip ファイルのコンテンツを抽出します。

  2. Apache Maven をダウンロードしてインストールします (バージョン 3.x を推奨)。

  3. JDK をダウンロードしてインストールします (バージョン 1.7 以降を推奨)。

  4. JAVA_HOME 環境変数を設定します。

  5. mvn install コマンドを実行し、コンパイルされたアーティファクトファイルをローカルの Maven リポジトリにインストールします。これにより、コンパイル済み SDK ライブラリを含む target フォルダーが作成されます。

  6. SDK ファイルを (その名前は、[] など、SDK の生成時に指定した Artifact Id および Artifact Versionsimple-calcsdk-1.0.0.jar から派生しています) [target] フォルダから、[target/lib] フォルダの他のすべてのライブラリとともに、プロジェクトの [lib] フォルダにコピーします。

    Andriod Studio を使用している場合は、クライアントアプリケーションモジュールで libs フォルダーを作成し、このフォルダー内に必要な .jar ファイルをコピーします。モジュールの gradle ファイルの依存関係セクションに、以下が含まれていることを確認します。

    Copy
    compile fileTree(include: ['*.jar'], dir: 'libs') compile fileTree(include: ['*.jar'], dir: 'app/libs')

    重複した .jar ファイルが宣言されていないことを確認します。

  7. ApiClientFactory クラスを使用して API Gateway で生成された SDK を初期化します。(例:

    Copy
    ApiClientFactory factory = new ApiClientFactory(); // Create an instance of your SDK. final MyApiClient client = factory.build(MyApiClient.class); // Invoke a method: // If the API exposes a 'GET /?a=1&b=2&op=+' method, you can call the following SDK method: // Result output = client.rootGet("1", "2", "+"); // where Result is the SDK class of the like-named API model. // // If the API exposes a 'GET /{a}/{b}/{op}' method, you can call the following SDK method to invoke the request, Result.output = client.aBOpGet(a, b, c); // where a, b, c can be "1", "2", "add", respectively. // You can call the following SDK methods invoke this POST API method: // POST / // host: ... // Content-Type: application/json // // { "a": 1, "b": 2, "op": "+" } Input body = new Input(); input.a=1; input.b=2; input.op="+"; Result output = client.rootPost(body); // Parse the result: // If the 'Result' object is { "a": 1, "b": 2, "op": "add", "c":3"}, you retrieve the result 'c') as String result=output.c;
  8. Amazon Cognito 認証情報プロバイダーを使用して API への呼び出しを認証するには、次の例で示すように API Gateway で生成された SDK を使用して ApiClientFactory クラスで AWS 認証情報のセットを渡します。

    Copy
    // Use CognitoCachingCredentialsProvider to provide AWS credentials // for the ApiClientFactory AWSCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider( context, // activity context "identityPoolId", // Cognito identity pool id Regions.US_EAST_1 // region of Cognito identity pool }; ApiClientFactory factory = new ApiClientFactory() .credentialsProvider(credentialsProvider);
  9. API Gateway で生成された SDK で API キーを設定するには、次のようなコードを使用します。

    Copy
    ApiClientFactory factory = new ApiClientFactory() .apiKey("YOUR_API_KEY");