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


関連記事

[Androidアニメーション]Shared Elements遷移

1 はじめに2 Shared Elements遷移とは3 layout xml4 Activity遷移5 その他6 さいごに はじめに 最近、雨が多いですね。そんな時は家にこもって、プログラミングをす ...

Android Studioでエラーログを詳細表示する

1 はじめに2 初期設定でのビルドエラーメッセージ3 詳細なビルドエラーメッセージを出力4 おまけ5 さいごに6 おすすめ書籍 はじめに こんにちは。Android開発を久しぶりにやっているのですが、 ...

GoogleMap Clusterのカスタマイズ

1 はじめに2 クラスタ内のアイテムクラス3 クラスタをレンダリングするクラス4 クラスタの色を設定する5 クラスタ化の最小個数を設定する6 クラスタのクリックイベントを拾う7 さいごに はじめに 最 ...

Kotlin MPAndroidChartライブラリを使いボリンジャーバンドを描画してみる。

1 はじめに2 ボリンジャーバンドとは2.1 ライブラリの導入2.2 描画の準備3 ボリンジャーバンドを描画する3.1 CombinedChartの設定3.2 CombinedChart用のデータ作成 ...

Kotlin ChartsライブラリとCryptowatchAPIでローソク足を描画してみる。

1 はじめに2 CryptoWatchについて2.1 OHLC3 リクエスト方法3.1 CryptoWatchのAPI4 Androidでの実装4.1 実装前の準備4.2 データクラスの作成4.3 リ ...

フォロー

follow us in feedly

blog-page_side_responsive

2017年4月
 1
2345678
9101112131415
16171819202122
23242526272829
30 

アプリ情報

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