Junior — Middle
Můžete vysvětlit princip fungování Content Provider v Androidu a jak komunikuje s ostatními komponentami aplikace?
sobes.tech AI
Odpověď od AI
Content Provider v Androidu je komponenta, která poskytuje mechanismus pro výměnu dat mezi aplikacemi. Inkapsuluje přístup k datům (například do databáze SQLite, souborů nebo jiných zdrojů) a poskytuje standardní rozhraní pro čtení a zápis dat přes URI.
Princip fungování:
- Data jsou dostupná přes URI, které identifikují konkrétní zdroje.
- Pro přístup k datům se používají metody: query(), insert(), update(), delete(), getType().
- Další komponenty (nebo aplikace) mají přístup k Content Provider přes ContentResolver, který funguje jako prostředník.
Interakce s ostatními komponentami:
- Aplikace, která chce získat data, používá ContentResolver a URI Content Provideru.
- Content Provider zpracovává požadavky a vrací data ve formě Cursor nebo jiných formátů.
- To umožňuje bezpečnou a standardizovanou výměnu dat mezi aplikacemi.
Příklad použití ContentResolver pro čtení kontaktů:
val cursor = contentResolver.query(
ContactsContract.Contacts.CONTENT_URI,
null, null, null, null
)
if (cursor != null) {
while (cursor.moveToNext()) {
val name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME))
println("Jméno kontaktu: $name")
}
cursor.close()
}