Junior — Middle
Androidda Content Provider qanday ishlash prinsipi va u qanday qilib ilovaning boshqa komponentlari bilan o'zaro aloqada bo'lishini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
Android'da Content Provider, dasturlar o'rtasida ma'lumot almashish uchun mexanizm taqdim etadigan komponentdir. U ma'lumotlarga (masalan, SQLite ma'lumotlar bazasi, fayllar yoki boshqa manbalar) kirishni inkapsulyatsiya qiladi va URI orqali ma'lumotlarni o'qish va yozish uchun standart interfeys taqdim etadi.
Ishlash prinsipi:
- Ma'lumotlar, ma'lum resurslarni aniqlovchi URI orqali kirish mumkin.
- Ma'lumotlarga kirish uchun query(), insert(), update(), delete(), getType() metodlaridan foydalaniladi.
- Boshqa komponentlar (yoki dasturlar) ContentResolver orqali Content Provider'ga kirishadi va vositachi sifatida xizmat qiladi.
Boshqa komponentlar bilan o'zaro ta'sir:
- Ma'lumot olishni istagan dastur ContentResolver va Content Provider URI'sidan foydalanadi.
- Content Provider so'rovlarni bajaradi va ma'lumotlarni Cursor yoki boshqa formatlarda qaytaradi.
- Bu, dasturlar o'rtasida xavfsiz va standartlashtirilgan ma'lumot almashishni ta'minlaydi.
ContentResolver yordamida kontaktlarni o'qish misoli:
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("Kontakt nomi: $name")
}
cursor.close()
}