Android

Android JavaでS3への画像アップロード

投稿日:2017年4月20日 更新日:

はじめに

こんにちは、初Androidの記事になります!

iOSの初記事と同じく、AWSのS3へ画像をアップロードする方法について、ブログを書きたいと思います(笑)。

今回も簡単にIAMユーザを作成し、ACCESS KEYとSECRET ACCESS KEYを利用した方法で紹介したいと思います。

アプリをリリースする場合は、AWS Cognitoを利用するか、IAMユーザの場合はアクセス権限を十分に絞ってください。

また、iOSのSwiftでS3への画像アップロードの記事も合わせてお読みいただければと思います。

AWS上での事前準備

AWS上での準備については、省略しますが下記の2つを準備してください。

  • S3にバケットを作成
  • IAMユーザの作成(上記のバケットへの「s3:PutObject」権限あり)

Android StudioのGradleでAWS SDKをインストール

app/build.gradleに下記を記載して、インストールします。

ManifestにPermissionの追加

AndroidManifest.xmlにインターネット接続のPermissionを追加します。

カメラで写真を撮影し、保存先のPathを取得

Intentを使い、標準のカメラアプリで写真を撮影します。カメラ撮影された写真のUriはmImageUriに保存され、後ほど説明するS3へのアップロードにも利用されます。

S3へアップロード

カメラ撮影された写真のUriを引数に渡して、S3へアップロードします。

accessKeyとsecretKeyにはAWSで作成したIAMユーザのものを設定してください。

contentTypeには「image/jpeg」、リージョンには「AP_NORTHEAST_1」を指定してください。

あとは、PutObjectRequestクラスのコンストラクタの引数である、bucketNameにはAWS上で作成したバケット名を、keyにはS3上で重複しないようなファイル名を指定してください。

なお、ファイル名はtest/hello.jpgとするとAWSコンソールなどから見た際にtestフォルダ内にhello.jpgファイルが保存されているように見えるので、ファイルをまとめて管理したい場合には、「test/」などのプレフィックスをつけるとよいでしょう。

 

さいごに

iOSのSwiftでS3への画像アップロードの記事の文書構成となるべく合わせるようにブログを書きました。iOS / AndroidのスマートフォンアプリでAWS S3へファイルアップロードする場合は、ご参考にしていただければと思います。

blog-page_footer_336




blog-page_footer_336




-Android
-,

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

KotlinでAndroidの双方向DataBindingを利用する

1 はじめに2 MVVMアーキテクチャ2.1 Model2.2 View2.3 ViewModel3 KotlinでAndroid DataBindingを設定4 説明用のサンプルアプリについて5 a ...

【Java】Handlerクラスについてまとめてみました

1 はじめに2 Handlerクラスを使う理由3 Handlerクラスの基本4 Handlerを使ってsetText()を実行してみる5 sendMessage()を実行してみる6 さいごに7 おすす ...

Kotlinをはじめよう〜Kotlin基本文法〜

1 はじめに2 事前準備3 基本データ型4 変数5 条件分岐 if式6 条件分岐 when式7 繰り返し制御 while文8 繰り返し制御 for文9 さいごに10 おすすめ書籍 はじめに こんにちは ...

【Java】スレッドについてまとめてみました

1 はじめに2 スレッドの基本について3 スレッドの利用4 Threadクラス5 Runnableインターフェース6 同期処理7 synchronized修飾子8 おわりに9 おすすめ書籍 はじめに ...

GCM 2.0からFCMに移行する(AWS SNS対応版)

1 はじめに2 FCM移行で大事なポイント3 Firebaseプロジェクトへの引き継ぎ3.1 Firebaseの初期設定4 依存ライブラリの変更4.1 “com.google.androi ...

フォロー

blog-page_side_responsive

2017年4月
 1
2345678
9101112131415
16171819202122
23242526272829
30  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。