1) Amazon AWS SDKをここからダウンロードします。aws-android-sdk jar lib ファイルをプロジェクトに追加します。
2)このライブラリをダウンロードしてください。あなたのプロジェクトにも追加してください。IOUtils は、バイト配列を簡単に取得するのに役立ちます。
3) AWS からセキュリティ認証情報を取得し、定数としてコードに入れます。
4) SDK の例のように AmazonS3Client を初期化します。
private AmazonS3Client s3Client = new AmazonS3Client(
new BasicAWSCredentials(AWS_KEY,
AWS_SECRET));
5) AsyncTask サブクラスを作成して、別のスレッドでダウンロードを管理します。このクラスに慣れていない場合は、こちらで詳細を確認してください。
doInBackground メソッドで、取得する画像のリストを取得する必要がある場合は、バケット内のファイルのリストを取得して、キーを調べることができます。
ObjectListing objectListing = s3Client.listObjects(new ListObjectsRequest().withBucketName(<your bucket name>));
List<S3ObjectSummary> objectSummaries = objectListing.getObjectSummaries();
for (S3ObjectSummary summary : objectSummaries) {
String key = summary.getKey();
// do something with the key
}
6) 次に、このコードのチャンクを追加して、バイトをダウンロードし、Bitmap オブジェクトにスローします。
S3ObjectInputStream content = s3Client.getObject(<your bucket name>, <the key of the targeted file>).getObjectContent();
byte[] bytes = IOUtils.toByteArray(content);
Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
7) おそらく onPostExecute またはそこから呼び出される何かで、生成されたビットマップを imageView.setImageBitmap(bitmap); を使用して ImageView に追加します。