Česká zemědělská univerzita v Praze Provozně ekonomická fakulta Katedra informačních technologií
Teze diplomové práce Operační systém Google Android
Petr Koula © 2011 ČZU v Praze
Souhrn Diplomová práce zahrnuje v první části komplexní popis operačního systému Google Android z pohledu jeho historie, architektury, funkcionalit a vývoje verzí. Věnuje se také porovnání platformy Android s největšími konkurenčními systémy. Druhá část je věnována praktické ukázce procesu implementace reálné aplikace, jejíž zdrojové kódy popisují použití částí Android API, přičemž jsou podrobně komentovány. Část je také věnována grafickému návrhu uživatelského rozhraní v souladu se standardy a doporučeními. Na závěr je popsán postup zkompletování aplikace a její publikace ve službě Android Market. Na operační systém Google Android je tedy pohlíženo jak ze strany pokročilého uživatele, tak ze strany vývojáře aplikací pro tuto platformu.
Klíčová slova: operační, systém, google, android, architektura, historie, porovnání, vývoj, api, příklad
1
1 Úvod Úvod diplomové práce je věnován nastínění problematiky operačních systémů jako platforem pro současné a budoucí mobilní zařízení.
2 Cíl práce a metodika Cílem této práce je poskytnout čtenáři komplexní popis operačního systému Google Android. V textu jsou popsány jeho vlastnosti a architektura, dále je provedeno porovnání s konkurenčními systémy a v praktické části se práce zaměřuje především na vývoj aplikací pro tuto platformu. Na částech zdrojových kódů reálné aplikace je ukázána značná část Android API a implementační fáze vývoje. Na závěr je diskutována problematika návrhu grafických prvků aplikací platformy Android a konečně jejich publikace ve službě Android Market.
3 Teoretická východiska 3.1 Historie Google Android První kapitola teoretické části práce je věnována historii a vzniku systému Google Android a přehledně je popsán vývoj jednotlivých verzí.
3.2 Vlastnosti a architektura Kapitola popisuje technologické vlastnosti operačního systému, jeho jednotlivé vrstvy a komponenty, virtuální běhové prostředí pro aplikace a aplikační framework.
3.3 Konkurenční operační systémy Google Android je srovnáván s významnými operačními systémy obdobné úrovně, které jsou taktéž určeny pro mobilní zařízení. Vždy je při rozboru konkurenčního systému diskutována architektura a způsob vývoje aplikací pro tuto platformu.Vlastní řešení
3.4 Vývojové prostředí První kapitola vlastního řešení je věnována vývojovému prostředí, které je určené pro vývoj aplikací systému Android.
2
3.5 Zadání ukázkové aplikace Nezbytným krokem pro následující a stěžejní část, ve které je popisován proces implementace, je definice funkcionalit ukázkové aplikace. Ty jsou navrženy tak, aby zahrnuly dostatečně velkou část Android API.
3.6 Vývoj aplikace Nejobsáhlejší kapitola se zabývá popisem implementace všech komponent, které dohromady tvoří reálnou a funkční aplikaci. Pro názornost byly do textu vybrány nejdůležitější části zdrojového kódu, které jsou doplněné nezbytnými komentáři.
4 Výsledky a diskuze Práce je zaměřena především na vývoj aplikací pro platformu Android, proto je implementační část stěžejní. Z fáze vývoje aplikace vyplývají dva důležité poznatky. První se týká požadavků na dovednosti vývojáře Android aplikací, který by měl být pokročilejším Java programátorem. Druhý poznatek se týká samotného stylu programování a struktury aplikace, která je odlišná od struktury běžných návrhových vzorů. Pokud diskuzi zaměříme na vývoj aplikací pro Android v České republice, tak zjistíme, že existuje již celá řada společností, které se buď zcela, nebo částečně na Android zaměřují a realizují produkci aplikací na zakázku. Pro menší vývojáře je v době vzniku této práce situace o něco složitější, protože služba Android Market neumožňuje prodej aplikací z našeho území. Vývojáři jsou tak nuceni si vybrat jiné služby, přes které budou své aplikace prodávat, nebo vydělávat na aplikaci jiným způsobem než je prodej, což obvykle znamená vkládání reklamních bannerů do svých aplikací. Česká komunita vývojářů pro platformu Android je široká a dokazuje to v první řadě fakt, že na Android Marketu nalezneme velké množství aplikací od českých vývojářů, a v druhé řadě existence hojně navštěvovaných českých diskusních fór a komunitních webů se zaměřením na Google Android.
3
Výběr z citovaných zdrojů 1. Schmidt, Eric. Google CEO: Moore’s Law to Transform Smartphones Into World’s Dominant Communications Platform. Editor & Publisher. [Online] 2010. http://www.editorandpublisher.com/Departments/Online/google-ceo-moores-law-totransform-smartphones-into-worlds-dominant-communications-platform-63185-.aspx. 2. Gartner. Gartner Says Android to Become No. 2 Worldwide Mobile Operating System in 2010 and Challenge Symbian for No. 1 Position by 2014. Gartner newsroom. [Online] Gartner, 2010. http://www.gartner.com/it/page.jsp?id=1434613. 3. Elgin, Ben. Google Buys Android for Its Mobile Arsenal. Bloomberg Businessweek. [Online] 2005. http://www.businessweek.com/technology/content/aug2005/tc20050817_0949_tc024.htm. 4. Hill, Simon. Bright Hub. History of Android: First Applications, Prototypes & Other Events. [Online] 2010. http://www.brighthub.com/mobile/googleandroid/articles/18260.aspx. 6. Android Developers. What is Android? android.com. [Online] 2010. http://developer.android.com/guide/basics/what-is-android.html. 7. Ehringer, David. davidehringer.com. [Online] 2010. http://davidehringer.com/software/android/The_Dalvik_Virtual_Machine.pdf. 8. Meier, Reto. Professional Android Application Development. Indianapolis : Wrox, 2008. ISBN 978-0470344712. 9. Android Developers. Application Fundamentals. android.com. [Online] 2011. http://developer.android.com/guide/topics/fundamentals.html. 10. —. Content Providers. android.com. [Online] 2011. http://developer.android.com/guide/topics/providers/content-providers.html. 11. Juniper Networks. Juniper Networks. Juniper Global Threat Center. [Online] 2010. http://globalthreatcenter.com/.
4