Junior — Middle
Môžete vysvetliť princíp fungovania Content Provider v Android a ako interaguje s ostatnými komponentmi aplikácie?
sobes.tech AI
Odpoveď od AI
Content Provider v Androidu je komponenta, ktorá poskytuje mechanizmus na výmenu údajov medzi aplikáciami. Inkapsuluje prístup k údajom (napríklad do databázy SQLite, súborov alebo iných zdrojov) a poskytuje štandardné rozhranie na čítanie a zápis údajov prostredníctvom URI.
Princíp fungovania:
- Údaje sú dostupné prostredníctvom URI, ktoré identifikujú špecifické zdroje.
- Na prístup k údajom sa používajú metódy query(), insert(), update(), delete(), getType().
- Iné komponenty (alebo aplikácie) získavajú prístup k Content Provider prostredníctvom ContentResolver, ktorý funguje ako sprostredkovateľ.
Interakcia s inými komponentmi:
- Aplikácia, ktorá chce získať údaje, používa ContentResolver a URI Content Provider.
- Content Provider spracováva požiadavky a vracia údaje vo forme Cursor alebo iných formátov.
- To umožňuje bezpečnú a štandardizovanú výmenu údajov medzi aplikáciami.
Príklad použitia ContentResolver na čítanie kontaktov:
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("Názov kontaktu: $name")
}
cursor.close()
}