AWS Demoのトップ画面で[Simple Storage(S3)]を選択します。[S3 Main Menu]で[Create Bucket]を選択すると、S3にバケット(バケツ/入れ物)を作成するサンプルになります。
[Enter Bucket Name]にバケット名を入力して、[Submit]を選択します。バケット名はグローバルに一意でないといけないので、少し冗長なものにしましょう。本稿では「atmarkit-aws-sdk-for-android」としています。
作成したバケットは[View Buckets]で確認できます。
サンプルアプリからのバケット作成がうまく成功しているかどうかを確認するために、「AWS Management Console」でS3の状況を確認してみましょう。
AWS Management Consoleの[S3]タブを開くと、図9のような状態になっていて、左の[Buckets]ペインに先ほどAndroid端末で作成したバケットが存在できると思います。
ここで作成したバケットにテキストファイルを1個アップロードしてみましょう。ここでは、「test.txt」をアップロードしてみました。Android上のサンプルアプリでテキストファイルを保存したバケットを選択すると、オブジェクト一覧が表示され、「test.txt」が確認できます。
そのファイルを選択して、テキストファイルの中身を確認してみましょう。
最後に、S3へのバケット作成処理の実際のソースコードを確認してみましょう。Eclipseの[パッケージ・エクスプローラ]で「AWSAndroidDemo」を開きます。「src/com.amazon.aws.demo.s3」を開いて、「S3CreateBucket.java」を開きます。
2つ目のメソッドが定義されていますが、バケット作成処理本体はwireSubmitButton()イベントリスナです。
public void wireSubmitButton(){
submitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
bucketName.setVisibility(View.INVISIBLE);
try{
S3.createBucket(bucketName.getText().toString());
finish();
} catch(Throwable e){
setStackAndPost(e);
}
}
});
}
AWS固有の処理は、たったの1行で、S3オブジェクトの静的なcreateBucketメソッドを呼び出しているところだけです。
基本的にAWS SDKを用いたアプリ開発では、クライアントとAWSとの通信部分の処理が非常に簡潔な記述になるため、直接REST APIを呼び出す処理を作り込む必要のあった時代に比べると、格段に開発生産性が上がりました。
本稿では、AWS SDK for Androidのサンプルアプリを通じて、AndroidアプリとAWSのサービスが連携するイメージを確認してきました。
最後に注意点としては、サンプルアプリで作成したAWS上のリソースは、サンプルアプリ側にリージョン選択機能がないため、すべて「US Standard」リージョン(US-East(Northern Virginia))に作成されます。サンプルを試した後は、AWS Management Consoleで作成したリソースを削除しておいてください(削除しないと課金されます!)。
また、実際にAWSを活用していくうえで課金の管理が面倒だという方には、最近は「バウチャーチケット」(クーポン券)のサービスも出てきたので、利用を検討してみてはいかがでしょうか。
次回以降、引き続きスマートフォン×クラウドな開発技術に関してチェックしていきたいと思います。
RIAやクラウドに関する技術記事執筆やセミナーの開催を通じて、先進技術の啓蒙を行う日々。Adobe AIR/Flex、Silverlight、AWS、Azure、Android、iOS、Windows Phone、UXと幅広い分野を担当
Copyright © ITmedia, Inc. All Rights Reserved.