'android zip 파일 압축'에 해당되는 글 1건

  1. 2013.10.08 [Android] 디렉토리를 zip파일로 압축하기 (6)
2013.10.08 19:21

안드로이드의 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파일로 하나로 묶어보내는게 나아보입니다.



신고
Posted by 그린블로그 DEV그린