Notice
Recent Posts
Recent Comments
Link
투케이2K
56. (TWOK/LOGIC) [Android] 로그 파일 제공 시 txt 텍스트 파일 zip 파일 압축 로직 본문
[로직 정리]
정리 로직 : Android
상태 : [Android] 로그 파일 제공 시 txt 텍스트 파일 zip 파일 압축 로직
[설 명]
1. 사전 : 사용자로부터 외부 저장소 읽기 및 쓰기 권한 받기 필요 or MANAGE 파일 접근 권한 부여
- MANAGE 파일 접근 권한 부여 시 구글 플레이스토어 업데이트 제출이 거절 될 수 있습니다
2 : 사용자가 특정 버튼 클릭 등 이벤트 액션 발생
3 : 파일 접근 및 읽기 , 쓰기 권한 부여 상태 체크
4-1 : 파일 접근 및 읽기 , 쓰기 권한이 부여 되어 있지 않은 경우 >> 사용자에게 알림 팝업창 제공
- 로그 파일을 제공하기 위한 앱 권한이 부여되어 있지 않습니다. 권한 부여를 허용해 주세요
- 팝업창 하위 버튼에 권한 부여 생성 후 >> 버튼 클릭 시 필요한 퍼미션 요청 수행
4_2 : 올바르게 파일 접근 권한이 부여되어 있는 경우 >> 특정 디렉토리 파일 존재 여부 확인
>> Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + "/LOG" + "/use.txt"
5 : 특정 파일이 존재하는 경우 zip 파일 압축 수행
>> 압축할 파일이 여러개인 경우는 for 문을 돌면서 zip 파일에 추가 수행
try (ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(zipPath))) { // [Zip 파일 만들기 정의]
for (String filePath : childList) {
File fileToZip = new File(filePath); // [자식 File 확인]
zipOut.putNextEntry(new ZipEntry(fileToZip.getName())); // [Zip 파일에 자식 추가]
Files.copy(fileToZip.toPath(), zipOut); // [Zip 파일 경로로 자식 복사]
}
S_Log._W_("Zip 압축 파일 생성 성공", null);
6 : 정상적으로 zip 파일이 생성 된 경우 >> 토스트 알림 표시
>> 파일 권한 등 Exception 이 발생한 경우는 에러 발생 팝업창 표시 수행
반응형
'투케이2K 로직정리' 카테고리의 다른 글
Comments