検索
連載

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

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

S3をAndroidから接続してみる

 AWS Demoのトップ画面で[Simple Storage(S3)]を選択します。[S3 Main Menu]で[Create Bucket]を選択すると、S3にバケット(バケツ/入れ物)を作成するサンプルになります。

図6 S3メインメニュー
図6 S3メインメニュー

 [Enter Bucket Name]にバケット名を入力して、[Submit]を選択します。バケット名はグローバルに一意でないといけないので、少し冗長なものにしましょう。本稿では「atmarkit-aws-sdk-for-android」としています。

図7 バケットの作成画面
図7 バケットの作成画面

 作成したバケットは[View Buckets]で確認できます。

図8 バケット一覧画面
図8 バケット一覧画面

他のS3クライアントからチェックしてみる

 サンプルアプリからのバケット作成がうまく成功しているかどうかを確認するために、「AWS Management Console」でS3の状況を確認してみましょう。

 AWS Management Consoleの[S3]タブを開くと、図9のような状態になっていて、左の[Buckets]ペインに先ほどAndroid端末で作成したバケットが存在できると思います。

図9 AWS Management Consoleでのバケットの確認
図9 AWS Management Consoleでのバケットの確認

AndroidからS3上のテキストファイルの中身を確認してみる

 ここで作成したバケットにテキストファイルを1個アップロードしてみましょう。ここでは、「test.txt」をアップロードしてみました。Android上のサンプルアプリでテキストファイルを保存したバケットを選択すると、オブジェクト一覧が表示され、「test.txt」が確認できます。

図10 オブジェクト一覧画面
図10 オブジェクト一覧画面

 そのファイルを選択して、テキストファイルの中身を確認してみましょう。

図11 オブジェクト(テキストファイル)の内容の確認
図11 オブジェクト(テキストファイル)の内容の確認

「AWSAndroidDemo」のソースコードをチェック

 最後に、S3へのバケット作成処理の実際のソースコードを確認してみましょう。Eclipseの[パッケージ・エクスプローラ]で「AWSAndroidDemo」を開きます。「src/com.amazon.aws.demo.s3」を開いて、「S3CreateBucket.java」を開きます。

 2つ目のメソッドが定義されていますが、バケット作成処理本体はwireSubmitButton()イベントリスナです。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 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.

前のページへ |       
ページトップに戻る