Media Log

안드로이드의 unzip 예제는 많지만 zipping 예제는 찾기가 어렵죠!


그래서 간단한 zip 압축 만들기 방법을 직접 씁니다. ^^


1. 

일단 Zip4j 사이트로 들어가서 jar 파일을 받습니다.


http://www.lingala.net/zip4j/download.php




2. 

그리고 프로젝트의 lib 폴더에 다운받은 jar파일을 넣어줍니다. 

이 시점에선 zip4j_1.3.1.jar가 최신이네요. ^^ 

귀찮으시다면 첨부한 파일을 받으시고..~


zip4j_1.3.1.jar



3. 

Properties - Libraries 에서 Add JARs... 를 클릭하여 zip4j_1.3.1.jar을 등록한 후 



Order and Export에서 체크박스 클릭 후 Clean을 해주십니다.




4. 

Environment.getExternalStorageDirectory().getAbsolutePath()는 sdcard를 의미합니다.

즉 이 코드는 압축할폴더이름을 압축하여 압축할파일이름.zip으로 만드는 코드입니다.

라이브러리를 이용하니 간단하게 압축 끝~ 참 쉽죠? ^^


 try {

 ZipFile zipfile = new ZipFile(Environment.getExternalStorageDirectory().getAbsolutePath() + "압축할파일이름.zip");

 ZipParameters parameters = new ZipParameters();

 parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);

 parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);

 zipfile.addFolder(Environment.getExternalStorageDirectory().getAbsolutePath() + "/압축할폴더이름", parameters);

 } catch (Exception e) {

  // TODO: handle exception

 }



PS.

제가 압축을 사용한 이유는 

4.3부터 gmail로 이미지 다중첨부 시 알 수 없는 퍼미션 에러가 났기 때문입니다. ㅡㅜ

혹시 해결하신 분 댓글좀 남겨주세요~ ㅎㅎ

근데 압축 라이브러리를 사용하고 보니 이게 훨씬 간단하고 유저입장에서도 편하겠더군요. ^^

앞으론 다중 이미지 첨부보단 zip파일로 하나로 묶어보내는게 나아보입니다.



신고
  1. BlogIcon S매니저 at 2013.10.09 12:29 신고 [edit/del]

    덕분에 좋은 정보 잘 얻어갑니다~
    행복하고 즐건 하루 되시길 바래요~

    Reply
  2. BlogIcon +요롱이+ at 2013.10.09 17:11 신고 [edit/del]

    좋은 정보 알아 갑니다^^
    감사합니다.

    Reply
  3. BlogIcon 쏘쿠베 at 2013.10.09 22:08 신고 [edit/del]

    좋은 정보 감사합니다. 늘 행복하세요^^

    Reply
  4. BlogIcon 자전거타는 남자 at 2013.10.10 07:12 신고 [edit/del]

    좋은 정보 잘 배우고갑니다

    Reply
  5. 개발팀 at 2014.11.20 14:11 신고 [edit/del]

    좋은 정보 감사합니다~^^

    Reply
  6. AAAAAAAA at 2016.02.25 14:15 신고 [edit/del]

    감사합니다!
    이 라이브러리 덕분에 오류를 해결했네요!

    Reply

submit

티스토리 툴바