닉네임 등록

글쓰기, 댓글을 이용시
1회 한해 닉네임 등록을 해주셔야합니다.

등록한 닉네임은 마이페이지에서 수정가능합니다.

이용중인 닉네임입니다. 다시 입력해주세요.

닉네임은 10자 이하로 가능합니다.

특수문자는 사용할 수 없습니다.

닉네임 등록 완료

닉네임 등록이 완료되었습니다.

주메뉴

바로가기

경로 빠삭 > 휴대폰이야기

일반 | 안드로이드 4.4 킷캣에서 외부 저장소(External Storage) 사용하기

심애 | 작성일 14-01-15 14:21 | 조회 1,928 | 추천 2 | 신고 0

게시글 신고 기능 안내

1.

신고버튼을 누르면 신고횟수가 증가 합니다.

2.

신고횟수가 5회가 되면 해당 게시글은 민폐방으로 이동 합니다.

3.

민폐방으로 이동이 되면 지급되었던 포인트, 캐시는 차감 됩니다.

4.

신고버튼을 누른후 한번더 누르면 신고가 취소 됩니다.

해당 글 내용이 불편 하다면 블라인드 요청을 할 수 있습니다.
다수의 요청이 있으면 블라인드 투표가 진행됩니다.
블라인드 요청을 진행할까요?

블라인드 요청하기

해당 글 내용이 불편 하다면 블라인드 요청을 할 수 있습니다.
다수의 요청이 있으면 블라인드 투표가 진행됩니다.
블라인드 요청을 진행할까요?

블라인드 요청하기
님의 회원정보

아이디 댓글모음

닉네임

가입일

포인트

링크 : http://www.ppomppu.co.kr/zboard/view.php?id=phone&page=1&divpage=420&search_type=sub_memo&keyword=%C…

안드로이드는 크게 세 가지 형태의 저장 공간을 갖고 있습니다. 내부 저장소 (Internal Storage)는 안드로이드 플랫폼, 시스템 도구, 앱, 그리고 앱에서 사용하는 데이터가 저장되는 공간입니다. 안드로이드 보안 모델에 따라 보호 받는 공간으로, 각각의 앱은 자신의 패키지 이름과 일치하는 디렉토리를 생성할 수 있으며, 오직 해당 디렉토리를 생성한 앱 만이 디렉토리 안의 파일을 읽고 쓸 수 있습니다. 모든 안드로이드 호환 디바이스는 하나 이상의 외부 저장소를 갖고 있습니다. 첫번째 외부 저장소 (Primary External Storage)는 앱간의 데이터를 공유할 수 있는 공개된 저장 공간입니다. READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE 권한을 갖고 있는 앱은 어떤 디렉토리에 저장된 데이터든 읽고 쓸 수 있습니다. 이 저장소는 크게 두 가지 방식으로 구현되는데, 2010년 출시된 넥서스 원 디바이스의 경우는 SD 카드 슬롯에 삽입된 메모리를 첫번째 외부 저장소로 활용하였고, 넥서스 5 를 비롯한 최근 디바이스들은 내장된 메모리 공간 중 일부를 나누어 활용하고 있습니다. 에뮬레이트된 첫번째 외부 저장소 외에 외장 메모리 슬롯을 지원하는 디바이스의 경우 추가적인 외부 저장소를 갖고 있을 수 있습니다. 다만 이 공간은 안드로이드 4.4 이전에는 안드로이드에서 공식적으로 지원하지 않고 있던 저장 공간입니다. 하나 이상의 외부 저장소가 존재하는 경우는 조금 혼란스럽습니다. 이 저장 공간은 4.4 이전의 경우 안드로이드에서 공식적으로 지원되는 공간은 아니였지만, 디바이스 제조사에 따라 조금씩 다른 방식으로 관리되었고 앱은 비공식적인 방법을 통해 해당 공간을 사용하고 있었습니다. 안드로이드 4.4 킷캣에서는 플랫폼 공식적으로 하나 이상의 저장 공간을 지원하며, 이와 함께 저장 공간 접근에 관련된 몇 가지 주요한 변경 점이 생겼습니다. 모든 종류의 저장 공간에 대하여, 앱은 추가적인 시스템 권한 요청 없이 자신의 패키지명과 일치하는 디렉토리를 생성하고, 해당 디렉토리 내의 파일을 읽거나 쓸 수 있습니다. 안드로이드 플랫폼은 앱에 할당된 특정한 디렉토리에 접근할 수 있는 getFilesDir(), getExternalFilesDir() 과 같은 메서드를 제공하고 있습니다. 앱 개발자는 maxSdkVersion 속성을 이용하여, 오직 킷캣 이전 버전에서만 해당 권한을 요청하도록 앱을 수정할 수 있습니다. 안드로이드 4.4 킷캣에서 getExternalFilesDirs() 메서드가 추가 되었습니다. 하나 이상의 외부 저장소를 지원하기 위한 메서드로, 메서드를 호출하면 파일 배열이 반환됩니다. 이 메서드를 통해 앱은 디바이스 상에 존재하는 모든 외부 저장소에 대하여, 자신에게 할당된 디렉토리 경로를 확인 할 수 있습니다. 개발자 분들은 하위 호환성을 위해 v4 호한 라이브러리에서 제공하는 ContextCompat.getExternalFilesDirs 메서드를 사용할 수 있습니다. 단, 킷캣 이전의 경우에는 오직 첫번째 외부 저장소에 대한 디렉토리 경로만이 반환됩니다. 어플리케이션은 자신에게 할당된 디렉토리를 제외하고 첫번째 외부 저장소가 아닌 추가적인 외부 저장 공간에 데이터를 쓸 수 없습니다. 마지막 변경 사항에 관해 궁금하신 분들이 많을 것 같습니다. 조금더 자세히 설명드리자면, 지금까지 특정 앱에서 사용되는 파일이 외부 저장 공간 여기저기에 흩어져 저장되는 경우가 종종 있었습니다. 이런 경우 시스템은 외부 저장 공간에 저장된 파일이 어떤 앱과 연관되었는지 판단할 수 있는 방법이 없었고, 앱이 삭제되는 경우에도 이런 파일을 깔끔히 정리할 수가 없었습니다. 안드로이드 킷캣 부터는 어플리케이션에 특화된 디렉토리의 경우에는 권한 요청 없이 자유롭게 파일을 읽고 쓸 수 있도록 허용하는 동시에 그 외 다른 경로에는 파일을 쓸 수 없도록 제한되었습니다. 앱은 자신에게 할당된 디렉토리를 활용하여 데이터를 저장할 수 있고, 이와 동시에 시스템은 앱이 삭제될 때 앱과 연관있는 파일을 판단하고 이를 모두 삭제할 수 있게 되었습니다. 안드로이드 4.2 버전 부터 CDD(Compatibility Definition) 의 9.5 항목에 관련 내용이 추가되었으며, 해당 원문은 다음과 같습니다. “Device implementations that include multiple external storage paths MUST NOT allow Android applications to write to the secondary external storage, except for their package-specific directories on the secondary external storage.” 만일, 앱이 자신의 디렉토리가 아닌 다른 공간에 파일을 생성하고 싶은 경우에는, 킷캣에서 새롭게 추가된 StorageAccessFramework(SAF) 를 활용할 수 있습니다. SAF 를 통해 사용자는 하나 이상의 외부 저장소를 비롯하여 안드로이드 플랫폼에서 접근 가능한 모든 문서, 이미지, 파일들을 일관적인 UI를 통해 접근하고 데이터를 관리할 수 있습니다. 또한, 개발자 분들은 ACTION_OPEN_DOCUMENT / CREATE_DOCUMENT 인텐트를 통해 손쉽게 새로운 기능을 활용할 수 있습니다. 이 변경 사항은 킷캣에 대응하는 모든 안드로이드 호환 디바이스에서 동일하게 적용되는 원칙임으로 첫번째 외부 저장소 외에 추가적인 외부 저장소를 활용하는 앱을 개발하는 개발자 분들은 꼭 내용을 확인하시길 바랍니다. 이외에 킷캣에서 변경된 부분에 관한 보다 자세한 내용은 안드로이드 개발자 사이트의 4.4 API 중요 변경 사항 항목을 참고해 보시기 바랍니다. 또는 관련된 내용을 한글로 정리해주신 전슬마로님의 블로그 포스트를 참고하셔도 큰 도움이 될 것 같습니다.

(주) 빠삭

대표이사 : 김병수 사업자등록번호 : 813-81-00671 통신판매업신고번호 : 제2023-부산해운대-1265호
주소 : 부산시 해운대구 센텀중앙로90 큐비e센텀 609호
Copyright ⓒ www.bbasak.com All Rights Reserved

고객센터

1533-7687
Fax : 0507-1797-5048 Email : help@bbasak.com
월~금 10 ~ 17시
점심시간 12시 ~ 13시 / 공휴일 휴무

벤처인증서

삐-마켓 입점 문의
삐-마켓은 빠삭이 만든 새로운 개념의 커머스 플랫폼이에요. 품질이 보장된 상품을 합리적인 가격에 제안한다는 원칙과 신념을 가지고 있어요. 저희는 무한 가격 경쟁을 원하지 않아요.품질에 걸맞게 가격 보다 가치가 지켜지는 장을 만들고 싶어요. 적은 수수료와 빠른 정산이 장점인 삐-마켓에 입점을 원하시면, 주저말고 연락 주세요.
운영 담당자 정보

입점 담당자
bigstar21c@bbasak.com

회사소개