Back to questions
Junior — Middle
64
Объясните, что такое Content Provider в контексте Android-разработки и как он используется для обмена данными между приложениями.
Companies where asked
ООО Возрождение
Rostic's
ПСБ
Answer from AI
sobes.tech AI
Content Provider в Android — это компонент, который позволяет приложениям обмениваться данными между собой безопасным и стандартизированным способом. Он инкапсулирует доступ к данным (например, к базе данных SQLite, файлам или другим источникам) и предоставляет интерфейс для CRUD-операций (создание, чтение, обновление, удаление).
Основные моменты:
- Content Provider реализует URI, по которому другие приложения могут обращаться к данным.
- Для доступа к Content Provider используется ContentResolver.
- Позволяет контролировать права доступа к данным через манифест и разрешения.
Пример использования: приложение A предоставляет список контактов через Content Provider, а приложение B может получить к ним доступ, используя ContentResolver и соответствующий URI.
Пример кода запроса данных из Content Provider:
Uri uri = ContactsContract.Contacts.CONTENT_URI;
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
if (cursor != null) {
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
// обработка данных
}
cursor.close();
}