애플리케이션을 제작하다 보면 파일을 입/출력 기능을 구현해야 하는 경우가 있습니다. 파일 입/출력을 수행하려면 파일의 경로를 꼭 알아야 하는데, 안드로이드에서 파일을 저장할 수 있는 경로는 다양합니다. 가장 크게 애플리케이션 데이터가 저장되는 영역(일반적으로 '내부 저장소(Internal Storage)'라 불림)와 사진, 비디오, 데이터 등을 저장하는 영역(일반적으로 '외부 저장소(External Storage) (주1) '라 불림)으로 나뉠 수 있으며, 각 영역별로 다시 캐시 데이터가 저장되는 영역, 데이터베이스가 저장되는 영역 등으로 나뉩니다. (주1) 외부 저장소는 사용자 데이터(사진, 동영상, 등)이 저장되는 영역입니다. 일반적으로 이는 단말기의 외장 SD카드를 지칭하지만, 단말기에 따라서는 이 영역이 외장 SD카드가 아닌 단말기 내부에 탑재되어 있는 경우도 있었습니다. (넥서스S가 이에 해당) 또는, 단말기 내에 탑재된 외장 메모리 영역 외에 별도의 SD카드도 지원하는 단말기도 존재합니다. (갤럭시S가 이에 해당) 내부 저장소는 각 애플리케이션에서만 데이터를 읽고 쓸 수 있지만, 외부 저장소에는 특정 애플리케이션에서만 사용하는 애플리케이션 고유 영역과 공용 영역이 각각 존재합니다. 애플리케이션 고유 영역에는 각 애플리케이션에서 사용하는 데이터를 저장하며, 이 영역에 저장된 내용은 애플리케이션이 삭제될 때 같이 삭제됩니다. 공용 영역에는 사진, 비디오, 기타 파일 등을 저장하며 애플리케이션의 삭제에 영향을 받지 않습니다. 하지만, 외부 저장소에 저장된 데이터는 애플리케이션 고유 영역에 저장되어 있더라도 다른 애플리케이션에서 해당 데이터에 접근하는 것이 가능합니다. 각 영역의 경로가 필요할 때마다 해당 경로를 직접 써서 사용할 수도 있겠지만, 번거롭기도 하고 각 유형에 해당하는 경로를 그 때마다 찾아봐야 하므로 시간도 많이 소요됩니다. 이러한 이유로 안드로이드에서는 데이터가 저장되는 주요 경로를 간편하게 얻는 메서드를...