Základ architektury OS Android

Aktivity

Hlavní stavební bloky aplikací OS Android se nazývají aktivity. Každá aktivita představuje jednu obrazovku aplikace. „Aktivity můžete chápat jako analogii oken či dialogů aplikace pro stolní počítač.“ To umožňuje, že se jednotlivé obrazovky a jejich části dají vyvolat i z jiné než mateřské aplikace.

Každá aktivita má svůj životní cyklus, který se skládá ze čtyř částí. Aplikace je:

Spouštění a ukončování aktivit funguje na principu LIFO39, kdy se aplikace po spuštění dostane na vrchol pomyslného balíku karet. Pokud uživatel právě spuštěnou aktivitu zavře nebo se vrátí o krok zpět, vždy se mu objeví aktivita dříve spuštěná.

Dodavatelé obsahu (Content providers)

Data uložená v zařízení mohou být přístupná několika rozličným aplikacím. Zá- kladem vývojového modelu OS Android je zpřístupnit data a obrazovky aplikace i jiným aplikacím. K tomu slouží Dodavatel obsahu, který zajišťuje kontrolu pří- stupu k uživatelským datům. Usnadní to tak práci programátorům, kteří mohou používat aktivity a data jiných dříve vytvořených aplikací.

Služby (Services)

Služba je kód, který je spuštěn na pozadí. Aktivity a Dodavatele obsahu můžeme kdykoliv vypnout a také nedisponují dlouhou životností. Oproti nim jsou služby neustále aktivní. Jsou nezávislé na aktivitách, kterými byly spuštěny. Využívají se například při přehrávání hudby, kdy uživatel hudbu spustí a poté ukončí uživatelské rozhraní, ale chce, aby hudba stále hrála na pozadí, k detekci aktualizací RSS, nebo ke kontrole aktualizace aplikací z Android Marketu.

Záměry (Intents)

Aplikace v OS Android mezi sebou komunikují pomocí Záměrů. Jsou to zprávy systému, které upozorňují sdružené aplikace, že se něco změnilo. Mezi takové změny patří například hardwarová konfigurace (např. nedostatek místa v pamě- ti), upozornění na příchozí data (např. příchozí volání) nebo samotné události aplikace (např. selhání aplikace).

AndroidManifest

AndroidManifest je řídícím souborem psaným ve značkovacím jazyce XML (více v kapitole 5.3.1 ), který popisuje celou aplikaci a její Aktivity, Služby, Dodavatele obsahu a Záměry aplikace. Obsahuje také soupis všech oprávnění, která říkají, ke kterým funkcím telefonu má aplikace přístup. Ty si poté může uživatel přečíst v informacích o aplikaci v Android Marketu nebo v nastavení aplikací ve svém telefonu. V AndroidManifest se také dozvídáme, jaké má naše aplikace Aktivity a jakou minimální verzi SDK musí naše zařízení mít, aby aplikace korektně fungovala. Součástí AndroidManifest.xml je package – jméno balíčku, ve kterém se skrývá celá aplikace. Aby mohla být aplikace distribuována v Android Marketu, musí být jméno balíčku jedinečné. Jméno balíčku také slouží jako Android Package – ZIP balík s koncovkou .apk, který slouží instalaci a šíření aplikací na zařízení s OS Android. Jsou v něm uloženy zkomprimované zdrojové soubory aplikace.

Při vytváření aplikace DetectiveDroid jsem se snažila využívat principu KISS (Keep It Simple, Stupid), který říká, že nejlepší cesta k úspěchu vede přes jednoduchost. [30]

Při tvorbě aplikace DetectiveDroid bylo potřeba uvědomit si, co všechno může uživateli nabízet.

Základem bylo roztřídit funkce telefonu do nadřazených kategorií, aby byla aplikace přehlednější. Tím byl určen počet aktivit v aplikaci. Díky Záměrům a Dodavatelům úrovně mohly být funkce telefonu v aplikaci DetectiveDroid na totožné úrovni ve stejné aktivitě.