예를 들어CONTENT_PROVIDER의 BASE_PATH는 실제로 무엇을 의미합니까?
.... 나는 Content_Provider를 구축하기 위해 노력하고있어하지만 난 Base_path에 붙어 I가 다음과 같은 테이블 이름 도착 :
가 어떻게이 CONTENT_URI 이름을 지정할 수는? 누구든지 나를 도울 수 있습니까?
미리 감사드립니다. 워드 프로세서
예를 들어CONTENT_PROVIDER의 BASE_PATH는 실제로 무엇을 의미합니까?
.... 나는 Content_Provider를 구축하기 위해 노력하고있어하지만 난 Base_path에 붙어 I가 다음과 같은 테이블 이름 도착 :
가 어떻게이 CONTENT_URI 이름을 지정할 수는? 누구든지 나를 도울 수 있습니까?
미리 감사드립니다. 워드 프로세서
:
은 그래서
URI
콘텐츠 프로 바이더의 데이터를 식별하는URI
이다. 콘텐츠 URI에는 전체 공급자 (권한) 인 의 기호 이름과 테이블 (경로)을 가리키는 이름이 포함됩니다. 클라이언트 메서드를 호출하여 공급자의 테이블에 액세스하면 테이블의 콘텐츠 URI가 인수 중 하나입니다.앞의 코드 줄에서
CONTENT_URI
상수는 사용자 사전의 "단어"테이블의 내용URI
을 포함합니다. ContentResolver 객체는 URI의 권한을 파싱하고이를 알려진 기관의 시스템 테이블에 대한 권한을 비교하여 공급자를 "확인"합니다. 그런 다음 ContentResolver는 인수 을 올바른 공급자에 전달할 수 있습니다.ContentProvider는 콘텐츠 URI의 경로 부분을 사용하여 액세스 할 테이블을 선택합니다. 공급자는 일반적으로 노출되는 각 테이블에 대한 경로를 가지고 있습니다. 코드의 이전 라인에서
은 "단어"테이블에 대한 전체URI
은 :user_dictionary
문자열이 공급자의 권한이며, 단어 문자열은 테이블의 경로입니다
content://user_dictionary/words
. content content : // (체계) 이 항상 존재하며이 내용을 콘텐츠URI
으로 식별합니다.
content_uri
에서, 당신은
authority
과
base_path
있습니다.
ContentResolver
은
authority
부분을 사용하여 선택할 공급자를 결정한 다음
base_path
부분을 사용하여 데이터를 제공 할 테이블을 결정합니다. 따라서 보통
base_path
을 단순화하는 것은 공급자 내의 특정 테이블에 대한 경로입니다.
이 자습서 확인 http://www.vogella.com/articles/AndroidSQLite/article.html#contentprovider_overview – Aamirkhan