일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 상속
- Checkout
- 생성자
- error
- TortoiseSVN
- java
- IntelliJ IDEA Community
- syntax
- install
- 특징
- SSL
- commit
- 캡슐화
- svn
- IntelliJ
- Subversion
- Android
- Branch
- Class
- 자바
- git
- Android Studio
- cherrypick
- intellij 연동
- 문법
- constructor
- terms
- gradle
- VCS
- sourcetree
Archives
- Today
- Total
Jay's Developer Note
[Android] AWS S3 Download 하기(Util 소스 코드 有) 본문
728x90
AWS S3 Download 하기
밤낮 쉴 틈 없이 프로젝트를 진행하다 보니 어느새 반년이 훅 지나갔다.
아무래도 프로젝트 내에서 안드로이드를 혼자서 맡아하다 보니 블로그를 관리할 물리적인 시간이 없었다.. ㅠㅠ
그래도 덕분에 배운 것들도 많고 리마인드 된 것들도 많다.
이제 어느 정도 시간이 나서 슬슬 정리하는 시간을 가져볼까 한다.
마지막 게시글에 이어 이번엔 S3 에서 다운로드를 하는 코드를 공유해볼까 한다.
기타 S3 설정은 이전 글을 참고하면 된다.
https://fall-in-it.tistory.com/46
Public bucket 은 공개된 URL 로 쉽게 접근할 수 있기 때문에 여기서는 Private bucket 에 대해 다루겠다.
URL Streaming 은 여기에서
Android 설정
Dependency 추가(app 단의 build.gradle)
implementation 'com.amazonaws:aws-android-sdk-s3:2.13.5'
동일하게 추가해준다.
소스코드(그 외는 이전 게시글 참조)
/**
* S3 파일 다운로드
*
* @param context Context
* @param bucketName S3 버킷 내 폴더 경로(이름포함, /(슬래쉬) 맨 앞, 맨 뒤 없이)
* @param fileName 파일 이름
* @param file 저장할 Local 파일 경로
* @param listener AWS S3 TransferListener
*/
public void downloadWithTransferUtility(
Context context,
String bucketName, String fileName, File file,
TransferListener listener
) {
AWSCredentials awsCredentials = new BasicAWSCredentials(
accessKey, secretKey
);
AmazonS3Client s3Client = new AmazonS3Client(
awsCredentials, region
);
TransferUtility transferUtility = TransferUtility.builder()
.s3Client(s3Client)
.context(context)
.build();
TransferNetworkLossHandler.getInstance(context);
TransferObserver downloadObserver = transferUtility.download(
bucketName, fileName, file
);
downloadObserver.setTransferListener(listener);
}
사용법
S3Util.getInstance()
.setKeys("accessKey", "secretKey")
.setRegion(Regions.AP_NORTHEAST_2)
.downloadWithTransferUtility(
this,
"bucketPathName",
"fileName",
desFile,
new TransferListener() {
...
}
);
728x90
'Android' 카테고리의 다른 글
[Android] Jetpack Compose 장점 (0) | 2023.11.26 |
---|---|
[Android] AWS S3 Pre-Signed URL 로 Streaming 하기(Util 소스 코드 有) (0) | 2022.10.31 |
[Android] AWS S3 Upload 하기(Util 소스 코드 有) (2) | 2022.05.30 |
[Android] 다국어 지원 하기(feat. strings.xml) (0) | 2022.05.20 |
[Android] MQTT 통신 시 중요사항 - SSL/TLS(HTTPS) (0) | 2018.03.14 |