2012-12-18 67 views
1

Im旨在创建一个Android应用程序,使我可以从我的Amazon实例收集图像,然后像照片库一样水平滚动浏览它们。来自Amazon s3的Android图片库

香港专业教育学院目前有通过片段滚动的应用程序,但林不知道如何把这些片段

进出口比较新的Android里面imageviews所以如果有任何图书馆的使用,以帮助完成这个任务不知道?或者有没有办法从实例中下载图像,将它们放置在图像浏览中,然后将它们附加到碎片上?

回答

5

1)下载Amazon AWS SDK here。将aws-android-sdk jar lib文件添加到您的项目中。

2)去下载this library。也将它添加到您的项目中。 IOUtils将帮助轻松地检索字节数组。

3)从AWS获取您的安全证书并将它们作为常量放入您的代码中。

4)初始化AmazonS3Client作为SDK的例子做:

private AmazonS3Client s3Client = new AmazonS3Client(
      new BasicAWSCredentials(AWS_KEY, 
        AWS_SECRET)); 

5)创建的AsyncTask子类来管理下载一个独立的线程。 More info here如果你不熟悉这堂课。

在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与imageView.setImageBitmap(位);

+0

不错的执行伙伴 – vabhavsingh