query()
데이터를 검색.
인수를 사용하여 쿼리할 테이블과 반환할 열/행, 결과의 정렬 순서를 선택.
데이터를 Cursor 객체로 반환.insert()
새로운 행을 삽입.
인수를 사용하여 대상 테이블을 선택하고 사용할 열 값을 가져옴.
새로 삽입된 행에 대한 콘텐츠 URI를 반환.update()
기존 행을 업데이트.
업데이트할 테이블과 행을 선택하고 업데이트한 열 값을 가져옴.
업데이트한 행 개수를 반환.delete()
행을 삭제. 삭제할 테이블과 행을 선택. 삭제한 행 개수를 반환합니다.
getType()
콘텐츠 URI에 해당하는 MIME 유형을 반환.
onCreate()
초기화. 제공자를 생성한 직후 이 메소드 호출.
ContentResolver 객체가 제공자에 액세스하려고 시도하기 전까지는 생성된 것이 아님.
class ExampleProvider : ContentProvider() {
override fun onCreate(): Boolean {
return false
}
override fun query(
uri: Uri,
projection: Array<out String>?,
selection: String?,
selectionArgs: Array<out String>?,
sortOrder: String?
): Cursor? {
return null
}
override fun getType(uri: Uri): String? {
return null
}
override fun insert(uri: Uri, values: ContentValues?): Uri? {
return null
}
override fun delete(uri: Uri, p1: String?, p2: Array<out String>?): Int {
return 0
}
override fun update(
uri: Uri,
values: ContentValues?,
selection: String?,
selectionArgs: Array<out String>?
): Int {
return 0
}
}
<manifest
<application
.. >
<provider
android:authorities="com.example.kotlinstudypj.ui.ExampleProvider"
android:name=".ui.ExampleProvider"
android:enabled="true"
android:exported="true">
</provider>
</manifest>
<queries>
<!-- 사용하려는 콘텐츠 프로바이더의 authorities 속성 선언-->
<provider android:authorities="com.example.kotlinstudypj.ui.ExampleProvider"/>
<!-- 또는 사용하려는 앱의 매니페스트에 대상 앱 패키지명 명시-->
<package android:name="com.example.test"/>
</queries>
contentResolver.query(
Uri.parse("content://com.example.kotlinstudypj.ui.ExampleProvider"),
null,null,null,null
)
공식 문서 : https://developer.android.com/guide/topics/providers/content-providers?hl=ko
https://developer.android.com/reference/android/content/ContentProvider?hl=ko