Andriod da #Intent va #IntentFilter haqida!
#Intent - bu boshqa ilova komponentidan so'rov jo'natish (request) uchun foydalanishingiz mumkin boʻlgan xabar almashish obyektidir. Intent-lar komponentlar o'rtasidagi aloqani bir necha usul bilan osonlashtirsa-da, 3 ta asosiy foydalanish holatlari mavjud :
1. Activity-ni ishga tushirish.
Activity bu ilovadagi yagona ekranni ifodalaydi, Intent orqali biz Activity-ni ishga tushirishimiz mumkin.
Misol :
funksiya yordamida qo'shimcha ma'lumot qo'shish mumkin.
2. Service-ni ishga tushirish.
#Service - foydalanuvchi interfeysisiz background-da operatsiyalarni bajaradigan komponent bo'lib, u background jarayon (process) deb ham ataladi.
qoshimch malumot - 👉 Android-da Service-lar haqida qisqacha.
3. Broadcast-ni yetkazish.
#Broadcast - bu har qanday ilova qabul qilishi mumkin bo'lgan xabar. Android-da tizim turli xil broadcast tizim hodisalarini yetkazib beradi, masalan, qurilma zaryadlashni boshlagani, samolyot (Pilot) rejimi o'chgani yoki yoqilgani va hokazo.
qoshimch malumot - 👉 Broadcast-lar haqida qisqacha.
Intent #turlari.
Androidda intent-lar 2 turi mavjud:
1. Explicit intent. (Aniq intent).
2. Implicit intent. (yashirin intent).
#Explicit intent-lar odatda bitta ilova ichida yangi Activity, Service yoki Broadcast receiver-ni ishga tushirish uchun ilova ichida qo'llaniladi.
#Implicit intent-lar odatda boshqa ilovada Activity, Service yoki Broadcast receiver-ni ishga tushirish uchun ishlatiladi.
Batafsil malumot, misollar bilan - 👉 link
#IntentFilter - ilovaning Manifest faylidagi ifoda (expression) boʻlib, komponent qabul qilmoqchi boʻlgan intent-lar turini belgilaydi.
Implicit intent-ni yaratganingizda, Android tizimi intent mazmunini qurilmadagi boshqa ilovalarning manifest faylida e'lon qilingan intent filtrlari bilan solishtirish orqali ishga tushirish uchun tegishli komponentni topadi. Agar intent, intent filtriga mos kelsa, tizim ushbu komponentni ishga tushiradi va unga Intent obyektini yetkazib beradi.
Intent filter ichida <action>, <category> va <data> elementlari orqali bir qancha konfiguratsiyalarni belgilash mumkin. Intent filter ichida eng kamida 1 ta action bo'lishi shart. Aks holda filter hech qanday Intent obyektini qabul qilmaydi.
#Intent - bu boshqa ilova komponentidan so'rov jo'natish (request) uchun foydalanishingiz mumkin boʻlgan xabar almashish obyektidir. Intent-lar komponentlar o'rtasidagi aloqani bir necha usul bilan osonlashtirsa-da, 3 ta asosiy foydalanish holatlari mavjud :
1. Activity-ni ishga tushirish.
Activity bu ilovadagi yagona ekranni ifodalaydi, Intent orqali biz Activity-ni ishga tushirishimiz mumkin.
Misol :
var intent = Intent(this, SecondActivity::class.java)
startActivity(intent)
putExtra()
funksiya yordamida qo'shimcha ma'lumot qo'shish mumkin.
2. Service-ni ishga tushirish.
#Service - foydalanuvchi interfeysisiz background-da operatsiyalarni bajaradigan komponent bo'lib, u background jarayon (process) deb ham ataladi.
qoshimch malumot - 👉 Android-da Service-lar haqida qisqacha.
3. Broadcast-ni yetkazish.
#Broadcast - bu har qanday ilova qabul qilishi mumkin bo'lgan xabar. Android-da tizim turli xil broadcast tizim hodisalarini yetkazib beradi, masalan, qurilma zaryadlashni boshlagani, samolyot (Pilot) rejimi o'chgani yoki yoqilgani va hokazo.
qoshimch malumot - 👉 Broadcast-lar haqida qisqacha.
Intent #turlari.
Androidda intent-lar 2 turi mavjud:
1. Explicit intent. (Aniq intent).
2. Implicit intent. (yashirin intent).
#Explicit intent-lar odatda bitta ilova ichida yangi Activity, Service yoki Broadcast receiver-ni ishga tushirish uchun ilova ichida qo'llaniladi.
Intent intent = new Intent(this, TargetActivity.class);
startActivity(intent);
#Implicit intent-lar odatda boshqa ilovada Activity, Service yoki Broadcast receiver-ni ishga tushirish uchun ishlatiladi.
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, "Hello, this is some text to share.");
startActivity(Intent.createChooser(intent, "Share via"));
Batafsil malumot, misollar bilan - 👉 link
#IntentFilter - ilovaning Manifest faylidagi ifoda (expression) boʻlib, komponent qabul qilmoqchi boʻlgan intent-lar turini belgilaydi.
Implicit intent-ni yaratganingizda, Android tizimi intent mazmunini qurilmadagi boshqa ilovalarning manifest faylida e'lon qilingan intent filtrlari bilan solishtirish orqali ishga tushirish uchun tegishli komponentni topadi. Agar intent, intent filtriga mos kelsa, tizim ushbu komponentni ishga tushiradi va unga Intent obyektini yetkazib beradi.
Intent filter ichida <action>, <category> va <data> elementlari orqali bir qancha konfiguratsiyalarni belgilash mumkin. Intent filter ichida eng kamida 1 ta action bo'lishi shart. Aks holda filter hech qanday Intent obyektini qabul qilmaydi.