連載
» 2012年02月03日 00時00分 公開

スマートフォンとクラウドをつなぐ技術カタログ(2):クラウド「AWS」とAndroidを直結するSDKで何ができるのか? (2/3)

[福田寅成,クラスメソッド株式会社]

Androidアプリの開発環境の準備

 サンプルアプリを動かすには、Eclipse上にAndroidの開発環境を準備しておく必要があります。また、Android端末の実機をお持ちの方は、そちらでサンプルを動かすことも可能です。本稿では、開発環境の準備に関しては割愛しますが、以下を参考にしてください。

Android 4.0でアプリ開発を始めるための環境構築
Androidで動く携帯Javaアプリ作成入門(27)搭載端末の販売開始で話題のAndroid 4.0。SDKやEclipse、エミュレータなど開発環境を構築してアプリ開発を始めてみよう
                           「Smart & Social」フォーラム 2011/12/6


Android Market配布を目指しEclipseでHelloWorld!
Androidで動く携帯Javaアプリ作成入門(1) ドコモやauでも端末が発売されるAndroid。その前に自分が作ったアプリを配布できるようにしておくと大きなチャンスです!
                           「Smart & Social」フォーラム 2008/12/8

AWSのアカウント

 また、AWSのアカウントも取得済みで、AWSの管理コンソールである「AWS Management Console」へアクセス可能な状態であるものとして話を進めていきます(AWSの新規アカウントを作成すると、1年間の無料枠が提供されるので、本サンプルアプリも無料で動かせます。AWSアカウントをお持ちでない方は、下記記事を参考にアカウントを作成してみてください)。

アクセスキー(Security Credentials)の準備

 AWSAndroidDemoは、「アクセスキー(Security Credentials)をアプリ内に埋め込む」という仕組み的に一番簡単なサンプルです。あらかじめAWS Management Consoleにアクセスし、アクセスキーを取得しておきましょう。

 AWS Management Consoleにログイン後、右上のユーザーIDをクリックしてリストを表示し、「Security Credentials」を選択します。アクセス証明書画面でアクセスキーIDとシークレットアクセスキーを入手できます。

図3 アクセスキーの入手 図3 アクセスキーの入手

AWS SDK for Androidのダウンロード

 「AWS SDK for Android」のページにアクセスし、AWS SDK for Androidをダウンロードします。

 デスクトップなどにダウンロードしたZIPファイル「aws-android-sdk-1.1.0.zip」を解凍します。解凍した「aws-android-sdk-1.1.0」フォルダ内の「samples」フォルダにサンプルアプリが入っています。この「samples」フォルダ以下のフォルダ群を、今回使用するEclipseのワークスペースにコピーしておきます(本稿ではワークスペースを「F:\workspace_android」としています)。

サンプルアプリのEclipseへのインポート

 Eclipseを起動し、[ファイル]→[新規]→[Androidプロジェクト]で新規プロジェクトを作成します。今回は[ファイル]→[インポート]は使いません([インポート]ウィザードで認識されない形でサンプルが提供されているので)。

 [外部ソースからプロジェクトを作成]ラジオボタンを選択し、ロケーションの[参照...]ボタンをクリックします。ここで、先ほどコピーしておいた「AWSAndroidDemo」フォルダを選択し、[次へ]ボタンをクリックします。ビルド・ターゲット選択画面では「Android 2.1」にチェックを入れ、[完了]ボタンをクリックします。これで、サンプルアプリのインポートは完了です。

図4 サンプルアプリのインポート 図4 サンプルアプリのインポート

ビルドパスの修正とアクセスキーの設定

 サンプルをEclipseにインポートした時点ではビルドエラーが出ています。ビルドパスにAWS SDK for Androidライブラリへのパスが設定されていないからです。[パッケージ・エクスプローラ]を見ると、「libs」フォルダに「aws-android-sdk-1.1.0-debug.jar」が入っていることが分かるので、このファイルを右クリックし[ビルド・パス]→[ビルド・パスに追加]でビルド・パスに追加します。すると、[問題]ビューのエラーが消えて、実行可能になります。

AWS SDK for Androidには「aws-android-sdk-1.1.0-debug.jar」以外に複数のJARファイルがあります。利用するAWSサービスに応じて使い分けができます。今回は開発用のライブラリを利用しています。

 次に、アクセスキーの設定です。[パッケージ・エクスプローラ]で「src\com.amazon.aws.demo」フォルダを開き、「AwsCredentials.properties」ファイルを開きます。「ACCESS_KEY_ID」「SECRET_KEY」の値が「CHANGE ME」となっているので、それぞれにアクセスキーIDとシークレットアクセスキーを貼り付けます。これにより、図2の緑色の鍵が最初から常にAndroid端末側にある状態になります。

「AWSAndroidDemo」サンプルアプリの実行

 準備ができたので、[F11]キーを押下してサンプルアプリを実行します。初回は[次をDebug]ダイアログが開くので、「Androidアプリ」を選択し、[OK]ボタンをクリックします。実機を準備している方は、USBケーブルで実機を開発PCに接続してから[F11]を押下してください。すると、下記の画面のような「AWS Demo」が起動します。

図5 AWS Demoサンプルアプリ 図5 AWS Demoサンプルアプリ

 このサンプルアプリではSNS、SQS、S3、SimpleDBに直接アクセスできます。

(エミュレータを使っている方)エミュレータの時刻を修正しておく

 Androidアプリの実行にエミュレータを使っている方は、エミュレータの時刻を修正しておく必要があります。そうしないと、サンプルで実際にS3などにアクセスした際に403エラーが発生します。

 エミュレータのホーム画面で[Menu]ボタンをクリックし、さらに[Settings]をクリックして設定画面を開き、開いた画面で「Date & Time」を選択します。[Date & time settings]画面で[Automatic]のチェックを外し、[Select time zone]で「Tokyo, Osaka」を選択します。これで正しい日本時刻になります。

 次ページでは、実際にS3にAndroid端末からアクセスしてみます。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。