2012-12-18 4 views
1

아마존 인스턴스에서 이미지를 수집 한 다음 포토 갤러리처럼 가로로 스크롤 할 수있는 Android 앱을 만들려고합니다.Amazon S3의 안드로이드 포토 갤러리

필자는 현재 조각을 통해 스크롤 응용 프로그램을 가지고 있지만, 메신저 확인 방법 안드로이드 비교적 새로운이 조각

임 내부 imageviews을 올려 놓지 않도록하고이 작업을 수행하는 데 도움이 어떤 라이브러리 사용할 수있는 경우 너무 궁금 해서요? 또는 인스턴스에서 이미지를 다운로드하여 이미지 뷰에 배치 한 다음 조각에 첨부 할 수 있습니까?

답변

5

1) Amazon AWS SDK here을 다운로드하십시오. aws-android-sdk jar lib 파일을 프로젝트에 추가하십시오.

2) 다운로드 this library을 다운로드하십시오. 프로젝트에도 추가하십시오. IOUtils는 바이트 배열을 쉽게 검색하는 데 도움이됩니다.

3) AWS에서 보안 인증서를 가져 와서 상수로 코드에 입력하십시오.

4) SDK 예제가 할로 AmazonS3Client 초기화 :

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) 그런 다음이 추가를 코드의 덩어리가 바이트를 다운로드하고 비트 맵 객체를 던져 :

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 (비트 맵)로 이미지 뷰에 생성 된 비트 맵을 추가;

+0

멋진 구현 버디 – vabhavsingh