투케이2K

56. (TWOK/LOGIC) [Android] 로그 파일 제공 시 txt 텍스트 파일 zip 파일 압축 로직 본문

투케이2K 로직정리

56. (TWOK/LOGIC) [Android] 로그 파일 제공 시 txt 텍스트 파일 zip 파일 압축 로직

투케이2K 2024. 6. 15. 00:19
반응형

[로직 정리]

정리 로직 : 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 이 발생한 경우는 에러 발생 팝업창 표시 수행
 

 

 



반응형
Comments