スマートフォンとクラウドをつなぐ技術カタログ
スマートフォンとクラウドをつなぐ技術カタログ(2)

クラウド「AWS」とAndroidを直結するSDKで何ができるのか?


クラスメソッド株式会社
福田 寅成
2012/2/3

S3をAndroidから接続してみる

- PR -

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

図6 S3メインメニュー

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

図7 バケットの作成画面

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

図8 バケット一覧画面

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

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

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

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

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

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

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

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

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

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

 最後に、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を活用していくうえで課金の管理が面倒だという方には、最近は「バウチャーチケット」(クーポン券)のサービスも出てきたので、利用を検討してみてはいかがでしょうか。

 次回以降、引き続きスマートフォン×クラウドな開発技術に関してチェックしていきたいと思います。

@IT関連記事


AWS ToolkitでTomcatクラスタをEC2上に楽々構築
ユカイ、ツーカイ、カイハツ環境!(12) 
Eclipseで開発したWebアプリを、Google App Engine並みに簡単に、Amazon EC2上にデプロイできる無料プラグインを紹介します
Java Solution」フォーラム 2010/2/17
クラウド&スマホ時代、運用管理の在り方を再考する
連載:クラウド&スマホ徹底“運用”術(1)
 クラウドサービスとスマートフォンの企業導入が加速している今、情シスはこれらを存分に生かせる運用方法を考えるべきだ
クラウドの“クライアント”としてRIAを試す
昨今関心が高まる一方のクラウドだが、クラウドの“クライアント”についてはあまり取り上げられないのが現状だ。本連載では、同じく未知の可能性を秘めるRIAをクライアントにして、サンプルを基にクラウドとの連携アプリケーションを検証していく
Flexアプリを3つのパブリック・クラウドと連携する方法
Flexフレームワークで変わるRIA開発の現場(5) 
FlexとAmazon EC2/Google App Engine/Windows Azureを高速なAMFで通信する方法を簡単なサンプルで解説します
リッチクライアント & 帳票」フォーラム 2010/9/10

Cloud Quest 〜 そして、雲活へ…
クラウドを制するものは、ITを制す! クラウドに関する情報をまとめた@IT特設コーナーです。クラウドを理解して最適なサービスを比較・検討し、SaaS・PaaS・IaaS・DaaSといったクラウド活用(雲活)へつなげてください


プロフィール:福田 寅成(ふくだ ともなり)
クラスメソッド株式会社 RIAエバンジェリスト

RIAやクラウドに関する技術記事執筆やセミナーの開催を通じて、先進技術の啓蒙を行う日々。Adobe AIR/Flex、Silverlight、AWS、Azure、Android、iOS、Windows Phone、UXと幅広い分野を担当

3/3  

 INDEX
スマートフォンとクラウドをつなぐ技術カタログ(2) 
クラウド「AWS」とAndroidを直結するSDKで何ができるのか?
  Page1
スマホ×クラウドなアプリの新しい開発スタイル
AWS SDK for Androidとは
  Page2
「AWSAndroidDemo」サンプルアプリを動かす準備
「AWSAndroidDemo」サンプルアプリの実行
Page3
「AWSAndroidDemo」のソースコードをチェック
【注意】サンプルを試した後は、削除を


ご意見、ご感想は Smart&Social 会議室へどうぞ


 Smart&Social フォーラム トップページへ


TechTargetジャパン

Smart & Social フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH