앞 게시글에서 액티비티(Activity), 서비스(Service), 브로드캐스트 수신자자(Broadcast Receiver)에 대해 공부했습니다.
이 게시글에서는 안드로이드 앱의 4번째이자 마지막 구성요소인 내용 제공자(Content Provider)를 다뤄보겠습니다.
내용 제공자는 한 앱에서 관리하는 데이터베이스, 파일, SharedPreferences, 이 세 개의 데이터들을 다른 앱에서도 접근 가능하도록 할 수 있으며
내용 제공자도 앱의 구성요소이기에 AndroidManifest.xml
에 추가해야 사용할 수 있습니다.
//AndroidManifest.xml
<manifest ....>
<application ...>
<provider> .... />
....
</application>
</manifest>
보안 때문입니다.
각 앱에서는 그 프로세스의 권한 안에서만 데이터에 접근이 가능하도록 설계되어 있습니다.
내용 제공자
는
즉, CRUD동작을 기준으로 하고 각 동작에 맞는
메서드를 지원합니다.
ContentProvider
을 상속하는 PersonProvider
의 클래스를 선언합니다.
그리고 이 클래스 안에서는 액티비티에 getContentResolver()
메서드를 호출하게 되면 반환되는 ContentResolver객체 안에 위의 4개의 메서드가 정의되어 있기에 CRUD의 동작에 맞게 메서드를 이용하게 되면 내용제공자를 사용가능합니다.