С помощью какого класса мы получаем доступ к Content Provider

«С помощью какого класса мы получаем доступ к Content Provider» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для доступа к Content Provider используется класс ContentResolver. Он предоставляет CRUD-операции (query, insert, update, delete) через URI провайдера. Доступ к нему получают через context.getContentResolver().

Пример запроса данных:

val cursor = contentResolver.query(
    Uri.parse("content://com.example.provider/users"),
    null, null, null, null
)
cursor?.use {
    while (it.moveToNext()) {
        val name = it.getString(it.getColumnIndex("name"))
        Log.d("ContentProvider", "User: $name")
    }
}

Важно: запрашивать данные нужно в фоновом потоке, использовать Cursor.close() или use{}, и объявить нужные permissions в манифесте.