Intents to obiekty wiadomości używane do żądania akcji od komponentu — najczęściej do uruchamiania aktywności (nawigacja między ekranami), ale także do uruchamiania usług, wysyłania broadcastów i komunikacji między aplikacjami. Stanowią fundament interakcji między komponentami Androida.
Co robią Intents
An INTENT is a message describing an operation to perform:
→ START an ACTIVITY (open another screen, in your app or another app)
→ START a SERVICE (begin background work)
→ DELIVER a BROADCAST (system/app-wide event)
→ carry DATA (extras) and specify the target/action
→ The mechanism for components to request actions and communicate.
Intenty jawne vs niejawne
// EXPLICIT — specify the exact component (e.g. navigate to YOUR another activity)
val intent = Intent(this, DetailActivity::class.java)
intent.putExtra("itemId", 42) // pass data
startActivity(intent) // open the activity
// IMPLICIT — specify an ACTION; the system finds an app that can handle it
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://example.com"))
startActivity(intent) // opens a browser (any app that handles ACTION_VIEW)
// other examples: dial a number, share content, open the camera, send an email
EXPLICIT → name the exact target component (used WITHIN your app, e.g. navigation)
IMPLICIT → describe an ACTION; the system picks a capable app (interact with OTHER apps:
open a URL, share, take a photo, etc.)
Przekazywanie danych i otrzymywanie wyników
→ EXTRAS — attach data to an intent (putExtra) → read it in the target
→ Get a RESULT back (Activity Result API) — e.g. pick an image and receive it
→ Intent FILTERS (in the manifest) declare what implicit intents your app can handle
Dlaczego to ważne
Rozumienie Intents jest fundamentalne dla tworzenia aplikacji na Androida, ponieważ są to sposób, w jaki komponenty wchodzą w interakcję — zwłaszcza jak nawigujesz między ekranami — więc to konieczna, podstawowa wiedza.
Intent to obiekt wiadomości, który żąda akcji, a jego najczęstsze zastosowanie, uruchamianie aktywności w celu nawigacji między ekranami (przekazywanie danych przez extras), jest niezbędne w praktycznie każdej aplikacji na Androida (poruszanie się między ekranami to podstawowa funkcjonalność).
Rozumienie rozróżnienia intenty jawne vs niejawne jest kluczowe: intenty jawne (wskazanie dokładnego komponentu docelowego) są używane do nawigacji w ramach własnej aplikacji, podczas gdy intenty niejawne (opis akcji, którą system dopasowuje do aplikacji zdolnej ją wykonać) umożliwiają potężne interakcje między aplikacjami — otwieranie adresu URL w przeglądarce, udostępnianie treści, robienie zdjęcia aparatem, wybieranie numeru, wysyłanie e-maila — pozwalając Twojej aplikacji wykorzystać możliwości innych aplikacji, cecha charakterystyczna i potężna dla Androida.
Rozumienie przekazywania danych (extras dołączone do intentów i odczytane przez komponent docelowy) i otrzymywania wyników (Activity Result API do otrzymywania danych zwrotnych, takich jak wybrane zdjęcie) jest niezbędne, aby komponenty mogły się komunikować i wymieniać dane.
Rozumienie intent filtrów (deklarowanie jakie intenty niejawne Twoja aplikacja może obsługiwać, aby inne aplikacje mogły Twoją aplikację uruchamiać) uzupełnia obraz komunikacji między komponentami i między aplikacjami.
Ponieważ Intents są fundamentalnym mechanizmem interakcji komponentów Androida (zwłaszcza nawigacja między ekranami, základowa potrzeba, i komunikacja między aplikacjami, potężna możliwość) i rozumienie ich — intenty jawne vs niejawne, przekazywanie danych i otrzymywanie wyników — jest niezbędne do tworzenia aplikacji, które nawigują i wchodzą w interakcje, rozumienie Intents jest niezbędną, podstawową wiedzą na temat Androida — kluczową koncepcją tego, jak komponenty Androida i aplikacje się komunikują, niezbędne dla nawigacji (używane w każdej aplikacji) i do wykorzystania możliwości ekosystemu Androida związanych z komunikacją między aplikacjami.
