2013-07-15 2 views
0

나는 그것을 봤는데, 공식 안드로이드 워드 프로세서를 검색하고, 만족스러운 아무것도 발견. Media Storage에 액세스하여 _ID와 AUDIO_ID 사이에 혼동하는 음악 플레이어 앱을 개발 중입니다._ID와 AUDIO_ID 열의 차이점은 무엇입니까?

두 가지의 차이점은 무엇입니까? (있는 경우)

+0

응답 없음 AUDIO_ID이 혼란을 취소하면 도움이? –

답변

1

에 따라 차이입니다.

_ID

행의 고유 ID.

AUDIO_ID

오디오 파일

차이

_ID는 BaseColumns에 데이터베이스 테이블의 열 이름의 ID. 그것은 다음의 다른 테이블에서 구현됩니다.

Browser.BookmarkColumns, Browser.SearchColumns, CalendarContract.Attendees, CalendarContract.CalendarAlerts, CalendarContract.CalendarEntity, CalendarContract.Calendars, CalendarContract.Colors, CalendarContract.ColorsColumns, CalendarContract.Events, CalendarContract.EventsEntity

그리고 AUDIO_ID입니다 MediaStore.Audio.AudioColumns 일부는 BASECOLUMNS 테이블을 구현합니다.

MediaStore.Audio.AudioColumns : 여러 테이블에 나타나는 오디오 파일의 열입니다.

참조 : _ID,

+0

아, 알겠습니다. 그래서 _ID는 SQL 질의 결과에서 행 번호와 유사하고 AUDIO_ID는 각 오디오의 기본 키와 비슷합니다. 내가 맞습니까? – akhyar

+1

예. _ID는 오디오 항목의 각 행에 대한 기본 키입니다. 그러나 AUDIO_ID는 특정 파일에 부여 된 고유 ID입니다. –

2

AUDIO_ID은 오디오 파일의 고유 식별자입니다.

_ID은 playlist_id와 audio_id의 조합의 식별자입니다. 이 경우 하나의 재생 목록에 동일한 오디오를 여러 번 사용할 수 있습니다. 그래서 재생 목록 행에 대한 각 오디오 파일의 고유 식별자는 _ID입니다.

그것은 기본적으로 재생 목록 및 오디오에 대한 링크 테이블, 그리고 각 링크는이처럼 _ID

자신의 가지고

ID AUDIO_ID PLAYLIST_ID 
----- ---------- ------------- 
    1  1    1 
    2  1    1   <----We can have the same combination, so we need an unique identifier. 
    3  5    1 
    4  8    2 

출처 : MediaStore.Audio.Playlists.Members Documentation

+0

재생 목록의 오디오 파일의 재생 목록 크기는 1에서 0까지 순차적으로 _ID가 있습니까? – akhyar

+0

FYI, 정확히 내가하고있는 일은 여러 재생 목록에 존재할 수있는 오디오 파일을 절대 참조로 가져 와서 플랫 파일에 저장하려고하는 것입니다. AUDIO_ID 또는 _ID를 사용해야합니까? – akhyar

+1

기본적으로 재생 목록과 오디오에 대한 링크 테이블이며 각 링크에는 자체 ID가 있습니다. – Timmetje