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] KotlinでTextToSpeech

1 はじめに2 環境3 MainActivity.kt4 SpeechListener.kt5 activity_main.xml6 さいごに はじめに こんにちは。最近ようやくKotlinに手を付け ...

Kotlin MPAndroidChartライブラリを使い移動平均線を描画してみる。

1 はじめに2 MPAndroidChartライブラリについて2.1 ライブラリの導入2.2 描画の準備3 折れ線グラフを描画する3.1 LineChartの設定3.2 LineChart用のデータ作 ...

Android 10の概要をまとめました。

1 はじめに2 主な変更点2.1 バックグラウンドからの起動について2.2 ストレージへの権限2.3 位置情報制御2.4 Live caption2.5 Smart Reply2.6 Gesture ...

Androidでのローカルプッシュ通知実装

1 はじめに2 WorkManagerとは?3 WorkManagerの導入4 実装例4.1 Workerの実装4.2 OneTimeWorkRequestBuilderの実装4.3 Periodic ...

[Android] TextToSpeechをforeground serviceで実行する

1 はじめに2 環境3 MainActivity.kt4 ForegroundService.kt5 実行してみる6 さいごに はじめに こんにちは。 前回の投稿ではTextToSpeechを使い、と ...

フォロー

blog-page_side_responsive

2017年4月
 1
2345678
9101112131415
16171819202122
23242526272829
30  

アプリ情報

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