1

我的目标是创建一个 Android 应用程序,允许我从我的 Amazon 实例中收集图像,然后像照片库一样水平滚动它们。

我目前有一个滚动浏览片段的应用程序,但我不确定如何将图像视图放置在这些片段中

我对 Android 比较陌生,所以想知道是否有任何可用的库可以帮助完成这项任务?或者有没有办法从实例下载图像,将它们放在图像视图中,然后将它们附加到片段?

4

1 回答 1

6

1) 在此处下载 Amazon AWS 开发工具包。将 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;

于 2013-03-07T02:31:26.543 回答