/**/

안드로이드 5.0 롤리팝의 외장 메모리(SD 카드): 확장 API, 자동 MediaStore, 향상된 보안성

Posted by 약간의여유
2014. 11. 6. 09:29 IT인터넷/안드로이드폰


구글에서는 안드로이드 5.0인 롤리팝을 공개했습니다. 아마도 안드로이드 사용자에게 가장 관심이 있는 것은 롭리팝에서 외장 SD카드를 어떻게 사용하게 할 것이냐 하는 문제일 것입니다.

킷캣(KitKat)과 외장 SD카드의 논란

이전 버전인 킷캣의 가장 큰 문제점은 SD카드를 읽기(Read)만 하는 앱은 문제가 없는데 기록(Write)을 하는 앱들에서 문제가 생긴다는 것이었습니다. 그것은 키캣이 SD 카드와 같은 제2차 저장 장치에 앱에 특수한 주소에서만 화일을 읽거나 쓰도록 하는 API를 제공했기 때문이었습니다. 많은 개발자들은 이것에 대해서 원성이 자자했었다고 합니다. 또한 많은 유저들도 본의 아니게 루팅을 통해서 이 문제를 해결해 왔습니다.


롤리팝의 외장 SD카드 관리

한편 롭리팝에서는 외장 SD카드의 관리 문제를 거의 해결했다고 하는군요. 롤리팝에서는 ACTION_OPEN_DOCUMENT_TREE 구조를 제공했습니다. 앱들이 이 tree 구조 안에서는 화일과 리렉토리를 생성, 수정 또는 삭제할 수 있게 되었고, 사용자는 특정한 디렉토리만 접근하도록 앱에 권한을 줄 수도 있고, 전체 SD 카드와 같은 상위 레벨을 선택할 수도 있게 되었습니다.

사진, 음악, 비디오와 같은 용량을 매우 빠르게 차지하는 앱들의 경우에는 그 내용을 SD 카드에 밀어내는 기능이 있어야 했는데, 킷캣은 이 기능을 잘 수행하지 못했기에 일일이 MediaStore에 저장되어야 했습니다. 하지만 롤리팝에서는 앱이 자동으로 폴더를 생성해서 사진 화일 등이 저장되도록 했습니다.

또한 SD카드와 같은 제2차 저장장치에 저장위치를 생성하면 getExternalMediaDirs에 주소가 기록되게 해서 카메라 앱이나 음성저장 앱에서 만들어진 화일이 자동으로 다른 앱에서 사용할 수 있게 된다고 합니다. 이에 따라 SD카드를 제거했다가 다시 삽입했을 때 발생하는 복잡한 문제도 해결했다고 하는군요.

사용자는 더 이상 화일 매니저와 씨름할 필요가 없게 되고, 미디어 앱은 저장위치와 상관없이 미디어 화일에 접근할 수 있게 될 것이라고 합니다. 따라서 사용자는 이것 때문에 루팅과 같은 우회수단을 사용하지 않아도 된다고 합니다.

안드로이드 5.0 개발자의 말로는 이러한 기술적인 조치 덕분에 보안성과 사용편의성의 두 마리 토끼를 동시에 잡게 되었다고 하네요.


사실 기술적인 부분을 차치하고서라도 사용자가 SD카드를 원활하게 사용할 수 있게 되었다는 점에서는 매우 기대되는군요.

이와 관련된 안드로이드 개발자 가이드의 원문을 보시려면 아래 링크를 클릭하세요.

http://developer.android.com/about/versions/android-5.0.html#Storage