2012-10-29 3 views
0

예를 들어CONTENT_PROVIDER의 BASE_PATH는 실제로 무엇을 의미합니까?

.... 나는 Content_Provider를 구축하기 위해 노력하고있어하지만 난 Base_path에 붙어 I가 다음과 같은 테이블 이름 도착 : enter image description here

가 어떻게이 CONTENT_URI 이름을 지정할 수는? 누구든지 나를 도울 수 있습니까?

미리 감사드립니다. 워드 프로세서

+0

이 자습서 확인 http://www.vogella.com/articles/AndroidSQLite/article.html#contentprovider_overview – Aamirkhan

답변

0

:

URI 콘텐츠 프로 바이더의 데이터를 식별하는 URI이다. 콘텐츠 URI에는 전체 공급자 (권한) 인 의 기호 이름과 테이블 (경로)을 가리키는 이름이 포함됩니다. 클라이언트 메서드를 호출하여 공급자의 테이블에 액세스하면 테이블의 콘텐츠 URI가 인수 중 하나입니다.

앞의 코드 줄에서 CONTENT_URI 상수는 사용자 사전의 "단어"테이블의 내용 URI을 포함합니다. ContentResolver 객체는 URI의 권한을 파싱하고이를 알려진 기관의 시스템 테이블에 대한 권한을 비교하여 공급자를 "확인"합니다. 그런 다음 ContentResolver는 인수 을 올바른 공급자에 전달할 수 있습니다.

ContentProvider는 콘텐츠 URI의 경로 부분을 사용하여 액세스 할 테이블을 선택합니다. 공급자는 일반적으로 노출되는 각 테이블에 대한 경로를 가지고 있습니다. 코드의 이전 라인에서

은 "단어"테이블에 대한 전체 URI은 : user_dictionary 문자열이 공급자의 권한이며, 단어 문자열은 테이블의 경로입니다

content://user_dictionary/words . content content : // (체계) 이 항상 존재하며이 내용을 콘텐츠 URI으로 식별합니다.

은 그래서 content_uri에서, 당신은 authoritybase_path 있습니다. ContentResolverauthority 부분을 사용하여 선택할 공급자를 결정한 다음 base_path 부분을 사용하여 데이터를 제공 할 테이블을 결정합니다. 따라서 보통 base_path을 단순화하는 것은 공급자 내의 특정 테이블에 대한 경로입니다.

자세한 내용은 this 가이드를 참조하고 this 튜토리얼을 참조하십시오.

관련 문제