[ Android Studio ] #16. 내용 제공자에 대해 알아보자

ma.caron_g·2022년 2월 1일
0
post-thumbnail

[ 내용제공자란? ]

앞 게시글에서 액티비티(Activity), 서비스(Service), 브로드캐스트 수신자자(Broadcast Receiver)에 대해 공부했습니다.

이 게시글에서는 안드로이드 앱의 4번째이자 마지막 구성요소인 내용 제공자(Content Provider)를 다뤄보겠습니다.


내용 제공자는 한 앱에서 관리하는 데이터베이스, 파일, SharedPreferences, 이 세 개의 데이터들을 다른 앱에서도 접근 가능하도록 할 수 있으며
내용 제공자도 앱의 구성요소이기에 AndroidManifest.xml에 추가해야 사용할 수 있습니다.

//AndroidManifest.xml

<manifest ....>
    <application ...>
        <provider> .... />

        ....
    </application>
</manifest>

[ 왜 다른 앱에는 내용제공자가 없으면 접근이 안될까? ]

보안 때문입니다.
각 앱에서는 그 프로세스의 권한 안에서만 데이터에 접근이 가능하도록 설계되어 있습니다.

[ 그러면 사용방법은? ]

내용 제공자

  • 생성(Crate)
  • 조회(Read)
  • 수정(Update)
  • 삭제(Delete)

즉, CRUD동작을 기준으로 하고 각 동작에 맞는

  • insert()
  • query()
  • update()
  • delete()

메서드를 지원합니다.

ContentProvider을 상속하는 PersonProvider의 클래스를 선언합니다.

그리고 이 클래스 안에서는 액티비티에 getContentResolver()메서드를 호출하게 되면 반환되는 ContentResolver객체 안에 위의 4개의 메서드가 정의되어 있기에 CRUD의 동작에 맞게 메서드를 이용하게 되면 내용제공자를 사용가능합니다.

profile
다른 사람이 만든 것을 소비하는 활동보다, 내가 생산적인 활동을 하는 시간이 더 많도록 생활화 하자.

0개의 댓글