본문 바로가기

Android/ContentProvider

안드로이드/Android 컨텐트 프로바이버(ContentProvider) 란?

안드로이드/Android 컨텐트 프로바이버(ContentProvider) 란?




이번 시간에는 안드로이드 4대 컴포넌트인 ContentProvider에 알아 보겠습니다. ContentProvider란 어플리케이션 사이에서 Data 를 공유하는 컴포넌트 인데요, 이 컴포넌트가 제공하는 프로세스(어플리케이션) 상호간의 Data를 통신 원리에 대해 알아 보겠습니다. 


<ContentProvider의 특징>

1) ContentResolver를 사용해서 어플리케이션 사이의 DATA를 공유 할 수 있습니다.

2) ContentProvider를 구현한 어플리케이션의 DATA를 삽입, 삭제, 갱신, 조회 등의 작업을 진행 할 수 있습니다.

3) ContentProvider를 구현한 어플리케이션은 꼭 실행중이 아니더라도 상대방에서 ContentProvider를 이용한 접근이 가능 합니다.

4) DB DATA를 공유하는 목적으로 만들어진 컴포넌트지만 꼭 DB 뿐만 아니라 인증키 같은 DATA를 공유 할수도 있습니다. 인증키를 ContentProvider를 사용해서 공유하는 경우 인증키 Class는 동적으로 실행되고 있어야 값을 관리 할 수 있습니다. (고정된 상수 값일경우 제외)

5) 단말에 설치 된 많은 어플리케이션 중에 ContentProvider를 구현 한 어플리케이션이 많을 텐데요. 그 중에 원하는 어플리케이션의 ContentProvider에 접근하기 위해서는 AndroidManifest.xml 파일에 authorities를 설정해 주어야 합니다. 쉽게 말해 intent filter의 역할 이라고 생각 하시면 됩니다.

 <application>
      <provider android:name=".provider.DataProvider"
                   android:authorities="arabiannight.tistory.com.contentproviderdataa" />
 </application>

 


자 그러면 ContentProvider의 흐름을 살펴 보겠습니다.


일단 동작 원리는 다음과 같습니다. 구체적인 코딩 방법에 대해서는 다음 포스팅에서 설명 하겠습니다. 


감사합니다.