RkBlog

Hardware, programming and astronomy tutorials and reviews.

Komponenty aplikacji Androida

Aplikacje Androida składać się mogą z czterech komponentów:
  • Aktywności (Activity)
  • Intencje(Intent, Broadcast Intent Receiver)
  • Usługi (Service)
  • Dostawcy Treści (Content Provider)
Nie każda aplikacja musi korzystać z tych wszystkich elementów, lecz twoje aplikacje na pewno będą wykorzystywały niektóre z nich. Mając listę potrzebnych komponentów należy dodać ją do pliku AndroidManifest.xml swojej aplikacji. Jest to plik w formacie XML, w którym deklaruje się komponenty aplikacji i ich możliwości.

Aktywność

Aktywności (Activity) są najczęściej stosowane, gdyż aktywność to jeden ekran twojej aplikacji. Każda aktywność to klasa dziedzicząca klasę "Activity". Klasa aktywności wyświetli interfejs użytkownika złożony z Widoków (Views) i będzie reagować na zdarzenia. Wiele aplikacji będzie miało więcej niż jeden ekran. Każdy z nich byłby oddzielną aktywnością, a przejście do innego ekranu równałoby się w kodzie z uruchomieniem nowej aktywności. Gdy nowy ekran zostanie otwarty, to poprzedni ekran jest zatrzymywany i przechowywany w stosie historii. Użytkownik może nawigować wstecz po wcześniej otwartych ekranach w historii. Ekrany mogą też "wybrać" opcję ich usunięcia z historii.

Intencje

Android używa klas Intencji by przemieszczać się z ekranu do ekranu. Klasa intencji określa co aplikacja chce by było wykonane. Dwa najważniejsze elementy Intencji to akcja i dane, na których ma zostać wykonana. Typowe wartości dla akcji to MAIN (główna strona aplikacji), VIEW, PICK, EDIT itp. Dane prezentowane są w formie URI. Przykładowo by zobaczyć dane kontaktowe znajomego z listy musiałbyś stworzyć intencję o akcji VIEW i danymi ustawionymi na URI reprezentujący tą osobę.

Nawigacja między ekranami odbywa się poprzez rozwiązywanie intencji. By przejść do następnego ekranu aktywność wywołuje startActivity(mojaIntencja). System przeszukuję listę filtrów Intencji wszystkich zainstalowanych aplikacji i wybiera aktywność, której filtry Intencji najbardziej pasują do intencji "mojaIntencja". Filtr intencji określa jakie Intencje dana Aktywność jest w stanie obsłużyć. Aktywność publikuje swoje filtry Intencji w AndroidManifest.xml.

Odbiorcy Intencji

"Odbiorcy Intencji" (Broadcast Intent Receiver) umożliwiają wykonanie aplikacji w reakcji na zewnętrzne zdarzenie - np. telefon zaczyna dzwonić, lub jest południe.

Usługi

Usługi to kod, który działa nieprzerwanie przez dłuższy okres czasu i nie zawiera interfejsu użytkownika. Przykładowo tworzą odtwarzać multimedialny mielibyśmy kilka Aktywności pozwalających wybrać listę piosenek do odtwarzania, lecz samo ich odtwarzanie powinno być obsługiwane przez usługę, która będzie działać nawet po przejściu do innych ekranów.

Dostawcy Treści

Aplikacje mogą przechowywać swoje dane w plikach, bazie SQLite, czy za pomocą innych mechanizmów. Dostawcy Treści to klasy implementujące standardowy zestaw metod umożliwiając innym aplikacjom dostęp do składowany danych.
RkBlog

Systemy wbudowane, 26 October 2008, Piotr Maliński

Comment article