안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요 .
안드로이드 학습 중에 궁금한 것이 있이서 이렇게 글을 올립니다.
현재 미디어(뮤직) 쪽을 학습하고 있는데요
MediaStore.Audio.Media._ID 란 식으로 컬럼 인덱스 데이터를 사용하곤 합니다.
물론 상위의 방식은 안드로이드에서 제공하는 audio 관련 TABLE 의 _id 사용하겠다라는 의미라는 것을 알고 있습니다.
안드로이드를 학습 하다가 보니
Sqlite Expert Personal 툴을 이용해서 DB상태를 볼 수 있단걸 알게 되었는데요
그래서 안드로이드 audio 관련 TABLE 의 내용을 보니 여러가지의 테이블이 존재하는걸 알게 되었습니다.
예를 들면 audio_meta / artist 등등..
근데 문제는 제가 사용하고 있는 MediaStore.Audio.Media._ID 방식의 부분들이 어떤 TABLE 과 매핑이 되어있는지
명확히 나와있는 부분이 없다는 겁니다.
해당 TABLE 를 사용하면서도 정확히 TABLE 내용이 무엇이 들어가있으며 현재 사용하는 인덱스 컬럼의 매핑이 어설피
쓰고 있다라는 생각이 듭니다.
결론적으론
MediaStore.Audio.Artists.ARTIST 이런식으로 사용하는 컬럼내용과
제가 현재 사용하고 있는 TABLE 랑 매핑이 되는것을
알 수 있는 방법이 있느냐라는 것입니다.
Developer 사이트를 통해서 링크를 걸어주셔서 해당 이러한 컬럼 내용이 제공된다라는
부분을 말씀드리는건 아니고요...
제가 쓰는 컬럼내용 그리고 매핑되는 TABLE 의 명을 알 수 있는 방법을 알고 싶습니다.
2011.02.25 10:33:55
Uri값으로도 어느정도 구분이 가긴 하지만
정확하게 구분하시려면 MediaProvider를 보시는게 맞습니다.
물론 전체 소스를 분석할 필요는 없고
Uri값으로 테이블을 구분하게 되어있으니
query부분과 UriMatcher에 addURI하는 부분만 보시면 됩니다.
사실 몇분 걸리지도 않아요.
첨부해둡니다.
2011.02.25 12:04:18
여기는 같이 안보이는 숲을 헤쳐가는 곳입니다.
앞에 먼저간 사람도 솔직히 그걸 일일이 설명하기 어려운 경우도 많습니다.
소스 봐라... 이렇게 말하는데에는 그사람도 이유가 있는겁니다. 그게 배보다 배꼽이 더크다구요?
그럼 찾지 말고 그냥쓰세요...
분석하고 싶은데 분석하는 가장 기본적인 길이 배보다 배꼽이 더크다고 생각하면 그냥 안하는게 정신건강에 이롭습니다.
앞에 먼저간 사람도 솔직히 그걸 일일이 설명하기 어려운 경우도 많습니다.
소스 봐라... 이렇게 말하는데에는 그사람도 이유가 있는겁니다. 그게 배보다 배꼽이 더크다구요?
그럼 찾지 말고 그냥쓰세요...
분석하고 싶은데 분석하는 가장 기본적인 길이 배보다 배꼽이 더크다고 생각하면 그냥 안하는게 정신건강에 이롭습니다.
2011.02.25 12:07:26
아 그리고 참고로 한마디 드리면 저렇게 상수로 매핑해서 쓰는이유는 단말별로 커스터마이징할수도 있기 때문입니다.
URL같은거 직접쓰면 일부 단말에서 오류가 나지만 해당 URL을 매핑한 상수를 쓰면 오류가 안납니다.
저거 매핑되는 필드들을 다 맞춰서 보는게 오히려 독이 될수도 있습니다. 괜시리 불편해질수도 있다는뜻...
URL같은거 직접쓰면 일부 단말에서 오류가 나지만 해당 URL을 매핑한 상수를 쓰면 오류가 안납니다.
저거 매핑되는 필드들을 다 맞춰서 보는게 오히려 독이 될수도 있습니다. 괜시리 불편해질수도 있다는뜻...
2011.02.25 13:11:54
검색은 폼이 인가 싶습니다.
여기 게시판에도 제가 music 테이블 분석해서 올린 들도 있는데...
질문하신분 질문봐서는 최소한 검색도 제대로 안 하신거 같습니다.
왜 스스로 찾을 생각은 안하고 남이 떠 먹여주기를 바라는지 모르겠네요.
위 첨부한 java 파일 하나만 있으면 될거 갔죠?
저기서 파생되는 것들이 괘 되거든요.
스스로 안 찾아보면 알수가 없죠.
뭐 그때 가서 또 질문하고.. 멘토 어쩌구 저쩌구 하시면 되시겠지만.. ㅡ.ㅡ
여기 게시판에도 제가 music 테이블 분석해서 올린 들도 있는데...
질문하신분 질문봐서는 최소한 검색도 제대로 안 하신거 같습니다.
왜 스스로 찾을 생각은 안하고 남이 떠 먹여주기를 바라는지 모르겠네요.
위 첨부한 java 파일 하나만 있으면 될거 갔죠?
저기서 파생되는 것들이 괘 되거든요.
스스로 안 찾아보면 알수가 없죠.
뭐 그때 가서 또 질문하고.. 멘토 어쩌구 저쩌구 하시면 되시겠지만.. ㅡ.ㅡ
안드로이드는 Open Source 랍니다.
소스를 보시면 다 알 수가 있답니다.
MediaProvider 를 찾아 보시면 된답니다.