Junior — Middle
Можете ли објаснити принцип рада Content Provider-а у Android-у и како он комуницира са другим компонентама апликације?
sobes.tech АИ
Одговор од АИ
Content Provider u Androidu je komponenta koja pruža mehanizam za razmenu podataka između aplikacija. On inkapsulira pristup podacima (npr. bazi podataka SQLite, fajlovima ili drugim izvorima) i pruža standardni interfejs za čitanje i pisanje podataka putem URI.
Princip rada:
- Podaci su dostupni putem URI-ja koji identifikuju specifične resurse.
- Za pristup podacima koriste se metode: query(), insert(), update(), delete(), getType().
- Drugi komponenti (ili aplikacije) pristupaju Content Provider-u putem ContentResolver-a, koji deluje kao posrednik.
Interakcija sa drugim komponentama:
- Aplikacija koja želi da dobije podatke koristi ContentResolver i URI Content Provider-a.
- Content Provider obrađuje zahteve i vraća podatke u obliku Cursor-a ili drugih formata.
- Ovo omogućava siguran i standardizovan razmenu podataka između aplikacija.
Primer korišćenja ContentResolver-a za čitanje kontakata:
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("Ime kontakta: $name")
}
cursor.close()
}