来自AmazonS3的Android照片库
我的目标是创建一个Android应用程序,允许我从我的亚马逊实例中收集图像,然后像照片库一样水平滚动 我目前有一个可以滚动片段的应用程序,但我不知道如何在这些片段中放置ImageView来自AmazonS3的Android照片库,android,Android,我的目标是创建一个Android应用程序,允许我从我的亚马逊实例中收集图像,然后像照片库一样水平滚动 我目前有一个可以滚动片段的应用程序,但我不知道如何在这些片段中放置ImageView 我对Android比较陌生,所以我想知道是否有任何库可以帮助完成这项任务?或者有没有办法从实例下载图像,将它们放在ImageView中,然后将它们附加到片段上?1下载Amazon AWS SDK。将aws android sdk jar库文件添加到项目中 2去下载。也将其添加到您的项目中。IOUtils将帮助轻
我对Android比较陌生,所以我想知道是否有任何库可以帮助完成这项任务?或者有没有办法从实例下载图像,将它们放在ImageView中,然后将它们附加到片段上?1下载Amazon AWS SDK。将aws android sdk jar库文件添加到项目中 2去下载。也将其添加到您的项目中。IOUtils将帮助轻松检索字节数组 3.从AWS获取安全凭据,并将其作为常量放入代码中 4按照SDK示例初始化AmazonS3Client:
private AmazonS3Client s3Client = new AmazonS3Client(
new BasicAWSCredentials(AWS_KEY,
AWS_SECRET));
5创建一个AsyncTask子类,在单独的线程中管理下载。如果你不熟悉这门课
在doInBackground方法中,如果需要获取要检索的图像列表,可以获取bucket中的文件列表,并检查键:
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然后,添加这段代码以下载字节并将其放入位图对象:
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.setImageBitmapbitmap将生成的位图添加到ImageView中 1下载亚马逊AWS SDK。将aws android sdk jar库文件添加到项目中 2去下载。也将其添加到您的项目中。IOUtils将帮助轻松检索字节数组 3.从AWS获取安全凭据,并将其作为常量放入代码中 4按照SDK示例初始化AmazonS3Client:
private AmazonS3Client s3Client = new AmazonS3Client(
new BasicAWSCredentials(AWS_KEY,
AWS_SECRET));
5创建一个AsyncTask子类,在单独的线程中管理下载。如果你不熟悉这门课
在doInBackground方法中,如果需要获取要检索的图像列表,可以获取bucket中的文件列表,并检查键:
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然后,添加这段代码以下载字节并将其放入位图对象:
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.setImageBitmapbitmap将生成的位图添加到ImageView中 很好的实现buddynice实现伙伴