SlideShare una empresa de Scribd logo
1 de 5
Argumentace
Následující text je jednou z kapitol mojí bakalářské práce, kterou právě píši. Tato
práce má za cíl vytvořit specifickou Android aplikaci. S ohledem na tento fakt je
bezesporu vhodné popsat, jak takový Android program vypadá a jakou má
strukturu. Jelikož je platforma Android stará jen pár let a většina vývojářů s ní nemá
zkušenosti, bude pro ně i pro ostatní členy IT komunity tento text přínosný.




Android a struktura aplikací na této platformě
„Android pohání stovky milionů mobilních zařízení ve více než 190 zemích po celém
světě. Je to nejrozšířenější mobilní platforma — každý den poprvé zapne Android
zařízení další milion uživatelů a začne hledat aplikace, hry a další digitální obsah.
Android nabízí zaprvé prvotřídní platformu pro vytváření softwaru a her pro
Android uživatele na celém světě a zadruhé otevřený trh pro okamžitou distribuci.“1
[1] Jelikož je Android dnes tak masivně rozšířený, je vhodné se blížeji seznámit se
strukturou aplikací vyvíjených na této platformě.

    Mezi hlavní komponenty Android programů patří aktivity, dodavatelé obsahu,
služby     a    záměry       [2].   Aktivita      je   základním        stavebním        kamenem,         který
zprostředkovává komunikaci s uživatelem. Ve většině případů reprezentuje jedno
zobrazované okno s určitým grafickým rozhraním. Otevřené aktivity, chcete-li
otevřená okna, jsou vkládána do zásobníku, díky čemuž je uživatel po zavření
zobrazované aktivity přesměrován do aktivity předchozí, ze které byla zavřená
aktivita spuštěna. Z toho vyplývá, že aktivity mají svůj životní cyklus, během kterého
jsou všechny změny v nich provedené (uživatel vložil data) ukládány a opětovně
načteny při návratu na vrchol zásobníku. Jakmile je aktivita zavřena, tedy odebrána
ze zásobníku, všechna data jsou smazána a její životní cyklus končí. [2][3]

    Dodavatel obsahu umožňuje přistupovat ke strukturovanému úložišti dat, ve
kterém mohou být data jak z integrovaných aplikací, tak i z těch stáhnutých. Dobrým

1
 přeloženo z: „Android powers hundreds of millions of mobile devices in more than 190 countries around the
world. It's the largest installed base of any mobile platform and growing fast — every day another million users
power up their Android devices for the first time and start looking for apps, games, and other digital content.
Android gives you a world-class platform for creating apps and games for Android users everywhere, as well as
an open marketplace for distributing to them instantly.“
příkladem je seznam kontaktů. Pomocí dodavatele obsahu tedy můžeme přistupovat
k datům ostatních programů a poskytovat data našeho vlastního softwaru. Jedním z
důvodů pro implementování této služby je například umožnění kopírování
komplexních dat z naší aplikace do jiné pomocí „copy and paste“. [2][4][5]

  Služby na rozdíl od aktivit, které mohou být ukončeny téměř okamžitě po jejich
spuštění, představují obvykle déle běžící procesy. Služba může být spuštěna v rámci
aktivity, avšak její životní cyklus na ni není vázán. To znamená, že po ukončení
aktivity může služba nadále existovat. Často jsou prováděny ve vlastním vlákně, aby
nezatěžovaly běh ostatních procesů. Příkladnou ukázkou je přehrávání hudby, které
je zpravidla spuštěno pomocí rozhraní daného programu, který je následně ukončen.
Tato služba i přesto nadále přehrává všechny dostupné skladby a je schovaná na
pozadí. [2][6]

  Záměry jsou systémové zprávy, které primárně slouží ke spouštění aktivit.
Umožňují reagovat na výskyt různých událostí, jako je například přijetí SMS zprávy.
Jinými slovy, popisují operaci, která má být provedena. [2][7]

  Dalšími součástmi Android aplikací jsou XML (Extensible Markup Language)
soubory, manifest, preference, soubory s řetězci... Výše bylo řečeno, že aktivita
zastupuje jedno zobrazované okno, které má určitý grafický vzhled. Ten je definován
pomocí XML, které je načteno vždy při startu aktivity. XML soubor má vždy jeden
rodičovský element, který definuje, jak v něm budou jeho potomci rozloženi.
Potomci již mohou být jednotlivé, pro uživatele viditelné, komponenty, jako jsou
tlačítka, rolovací lišty, editovací pole a mnoho dalších, anebo mohou pouze
specifikovat vybrané vlastnosti jejich dalších potomků. Samozřejmě je možné
vytvářet komponenty dynamicky v kódu některé třídy, ovšem toto řešení je složitější
(jak z hlediska programátora, tak i ve velikosti kódu oproti tomu v XML) a je
náchylné k chybám, protože je potřeba ošetřovat parametry, které XML řeší
automaticky. [2]

  Manifest je XML soubor, ve kterém je deklarován obsah aplikace. Nalezneme zde
tedy především, jakou verzi OS Android program podporuje, jaká práva program
pro jeho správnou funkčnost potřebuje (například přístup k Internetu), která aktivita
se spustí po zapnutí softwaru, deklaraci všech aktivit a služeb... V případě, že
nebudou v manifestu uvedeny všechny aktivity či služby, aplikace při pokusu
o jejich nastartování zahlásí chybu a spadne. [2]
Systém preferencí umožňuje ukládat uživatelem vložená data, která jsou tvaru
klíč a hodnota a jejichž účelem je uchovávat uživatelské nastavení. Příkladem je třeba
volba vyzváněcího tónu nebo výběr barvy některého prvku grafického rozhraní. Toto
nastavení je v zařízení uloženo trvale a je zachováno i po ukončení aplikace. [2]

  Nakonec zmíníme ještě soubory s řetězci, jejichž cílem je zaprvé uchovávání
textových údajů či celých textových polí za pomoci specifického klíče, kterým jsou
následně    volány    ze   tříd,   kde   jsou   potřeba,    a   zadruhé    zjednodušení
internacionalizace. [2]




Anotace
Text se zabývá strukturou aplikací vyvíjených na platformě Android. První část je
věnována základním stavebním kamenům Android softwaru, kterými jsou aktivity,
záměry, služby a dodavatele obsahu. V druhé části jsou následně popsány
sekundární prvky Android aplikací, které bývají také velmi často přítomny. Mezi ně
patří XML soubory, manifest, preference a soubory s řetězci.




Klíčová slova
Android, aktivita, záměr, služba, dodavatel obsahu




Seznam použité literatura
[1] Android, the world's most popular mobile platform. Android Developers [online].
© 2012 [cit. 2012-11-30]. Dostupné z: http://developer.android.com/about/index.html

[2] MURPHY, Mark L. Android 2: průvodce programováním mobilních aplikací. Vyd. 1.
Brno: Computer Press, 2011, 375 s. ISBN 978-80-251-3194-7.

[3] Activity. Android Developers [online]. 2012 [cit. 2012-11-30]. Dostupné z:
http://developer.android.com/reference/android/app/Activity.html

[4] Content Providers. Android Developers [online]. 2012 [cit. 2012-11-30]. Dostupné z:
http://developer.android.com/guide/topics/providers/content-providers.html
[5] Content Providers Basics. Android Developers [online]. 2012 [cit. 2012-11-30].
Dostupné z: http://developer.android.com/guide/topics/providers/content-provider-
basics.html

[6] Service. Android Developers [online]. 2012 [cit. 2012-11-30]. Dostupné z:
http://developer.android.com/reference/android/app/Service.html

[7] Intent. Android Developers [online]. 2012 [cit. 2012-11-30]. Dostupné z:
http://developer.android.com/reference/android/content/Intent.html




Hodnocení zdrojů
[1]:

          text obsahuje odbornou terminologii
          text je strukturovaný
          informace jsou přesné a objektivní
          text obsahuje aktuální informace
          text je součástí webu Android Developers, což je oficiální web pro Android
           vývojáře od Googlu

[2]:

          knížka je odborně velmi kvalitní
          je znám autor textu
          autor je v problematice erudovaný
          text obsahuje odbornou terminologii
          text je strukturovaný
          informace jsou přesné a objektivní

[3][4][5][6][7]:

          text obsahuje odbornou terminologii
          text je strukturovaný
          informace jsou přesné a objektivní
          text obsahuje aktuální informace
          text je součástí webu Android Developers, což je oficiální web pro Android
           vývojáře od Googlu
          text je pravidelně aktualizovaný
          pro neznalého čtenáře nevstřebatelný (značí vysokou odbornost)
Infografika

Más contenido relacionado

Destacado

Collaborative Composition Histories
Collaborative Composition HistoriesCollaborative Composition Histories
Collaborative Composition Historiesmdbabin
 
Simulacro pruebas saber 5ªto
Simulacro pruebas saber 5ªtoSimulacro pruebas saber 5ªto
Simulacro pruebas saber 5ªtoJuɑn Rɑmirez
 
Performance indicators for different levels of management
Performance indicators for different levels of managementPerformance indicators for different levels of management
Performance indicators for different levels of managementsree431
 
Can You Trust Your Tests? (Agile Tour 2015 Kaunas)
Can You Trust Your Tests? (Agile Tour 2015 Kaunas)Can You Trust Your Tests? (Agile Tour 2015 Kaunas)
Can You Trust Your Tests? (Agile Tour 2015 Kaunas)Vaidas Pilkauskas
 
CIS 247C iLab 4 of 7: Composition and Class Interfaces
CIS 247C iLab 4 of 7: Composition and Class Interfaces  CIS 247C iLab 4 of 7: Composition and Class Interfaces
CIS 247C iLab 4 of 7: Composition and Class Interfaces HomeWork-Fox
 
London Sightseeing Tour Places of interest
London Sightseeing Tour Places of interestLondon Sightseeing Tour Places of interest
London Sightseeing Tour Places of interestkultbag31
 
Mahindra & Mahindra Tractors In Usa
Mahindra & Mahindra Tractors In UsaMahindra & Mahindra Tractors In Usa
Mahindra & Mahindra Tractors In UsaANSHU TIWARI
 
A product demonstration
A product demonstrationA product demonstration
A product demonstrationANSHU TIWARI
 

Destacado (14)

Collaborative Composition Histories
Collaborative Composition HistoriesCollaborative Composition Histories
Collaborative Composition Histories
 
Group 8. part a
Group 8. part aGroup 8. part a
Group 8. part a
 
Simulacro pruebas saber 5ªto
Simulacro pruebas saber 5ªtoSimulacro pruebas saber 5ªto
Simulacro pruebas saber 5ªto
 
Performance indicators for different levels of management
Performance indicators for different levels of managementPerformance indicators for different levels of management
Performance indicators for different levels of management
 
norhane ramdani
norhane ramdaninorhane ramdani
norhane ramdani
 
Time management
Time managementTime management
Time management
 
Croutons.org
Croutons.orgCroutons.org
Croutons.org
 
Can You Trust Your Tests? (Agile Tour 2015 Kaunas)
Can You Trust Your Tests? (Agile Tour 2015 Kaunas)Can You Trust Your Tests? (Agile Tour 2015 Kaunas)
Can You Trust Your Tests? (Agile Tour 2015 Kaunas)
 
CIS 247C iLab 4 of 7: Composition and Class Interfaces
CIS 247C iLab 4 of 7: Composition and Class Interfaces  CIS 247C iLab 4 of 7: Composition and Class Interfaces
CIS 247C iLab 4 of 7: Composition and Class Interfaces
 
London Sightseeing Tour Places of interest
London Sightseeing Tour Places of interestLondon Sightseeing Tour Places of interest
London Sightseeing Tour Places of interest
 
Akka Unit Testing
Akka Unit TestingAkka Unit Testing
Akka Unit Testing
 
Negotiation fundamentals
Negotiation fundamentalsNegotiation fundamentals
Negotiation fundamentals
 
Mahindra & Mahindra Tractors In Usa
Mahindra & Mahindra Tractors In UsaMahindra & Mahindra Tractors In Usa
Mahindra & Mahindra Tractors In Usa
 
A product demonstration
A product demonstrationA product demonstration
A product demonstration
 

Similar a Závěrečný úkol KPI

Programování pro Android - úvod, FI MUNI, 2013
Programování pro Android - úvod, FI MUNI, 2013Programování pro Android - úvod, FI MUNI, 2013
Programování pro Android - úvod, FI MUNI, 2013Tomáš Kypta
 
Závěrečný úkol KPI
Závěrečný úkol KPIZávěrečný úkol KPI
Závěrečný úkol KPIbendis90
 
KPI11 Závěrečný úkol
KPI11 Závěrečný úkolKPI11 Závěrečný úkol
KPI11 Závěrečný úkolRidata25
 
KPI11 Závěrečný úkol
KPI11 Závěrečný úkolKPI11 Závěrečný úkol
KPI11 Závěrečný úkolRidata25
 
Jak na BYOD chytře?
Jak na BYOD chytře?Jak na BYOD chytře?
Jak na BYOD chytře?www.embt.cz
 
Interaktivní 3D služby v cloudu
Interaktivní 3D služby v clouduInteraktivní 3D služby v cloudu
Interaktivní 3D služby v clouduJiri Danihelka
 
Multiplatformni vyvoj
Multiplatformni vyvojMultiplatformni vyvoj
Multiplatformni vyvojKompilátor
 
Design android-aplikaci-z-pohledu-programatora
Design android-aplikaci-z-pohledu-programatoraDesign android-aplikaci-z-pohledu-programatora
Design android-aplikaci-z-pohledu-programatoraTomáš Vondráček
 
ECM-information system
ECM-information systemECM-information system
ECM-information systemTereza Dvorska
 
Nástroje pro práci s informacemi
Nástroje pro práci s informacemiNástroje pro práci s informacemi
Nástroje pro práci s informacemiMichal Černý
 

Similar a Závěrečný úkol KPI (20)

Softecon 2010
Softecon 2010Softecon 2010
Softecon 2010
 
Programování pro Android - úvod, FI MUNI, 2013
Programování pro Android - úvod, FI MUNI, 2013Programování pro Android - úvod, FI MUNI, 2013
Programování pro Android - úvod, FI MUNI, 2013
 
Zaverecny ukol
Zaverecny ukolZaverecny ukol
Zaverecny ukol
 
Závěrečný úkol KPI
Závěrečný úkol KPIZávěrečný úkol KPI
Závěrečný úkol KPI
 
KPI11 Závěrečný úkol
KPI11 Závěrečný úkolKPI11 Závěrečný úkol
KPI11 Závěrečný úkol
 
KPI11 Závěrečný úkol
KPI11 Závěrečný úkolKPI11 Závěrečný úkol
KPI11 Závěrečný úkol
 
Analyza trhu nastroje na projektove rizeni
Analyza trhu   nastroje na projektove rizeniAnalyza trhu   nastroje na projektove rizeni
Analyza trhu nastroje na projektove rizeni
 
Úvod do OOP
Úvod do OOPÚvod do OOP
Úvod do OOP
 
Jak na BYOD chytře?
Jak na BYOD chytře?Jak na BYOD chytře?
Jak na BYOD chytře?
 
Interaktivní 3D služby v cloudu
Interaktivní 3D služby v clouduInteraktivní 3D služby v cloudu
Interaktivní 3D služby v cloudu
 
Zaverecny ukol
Zaverecny ukolZaverecny ukol
Zaverecny ukol
 
TNPW2-2011-04
TNPW2-2011-04TNPW2-2011-04
TNPW2-2011-04
 
Multiplatformni vyvoj
Multiplatformni vyvojMultiplatformni vyvoj
Multiplatformni vyvoj
 
Design android-aplikaci-z-pohledu-programatora
Design android-aplikaci-z-pohledu-programatoraDesign android-aplikaci-z-pohledu-programatora
Design android-aplikaci-z-pohledu-programatora
 
TNPW2-2011-08
TNPW2-2011-08TNPW2-2011-08
TNPW2-2011-08
 
TNPW2-2012-02
TNPW2-2012-02TNPW2-2012-02
TNPW2-2012-02
 
Smact a průmysl 4.0
Smact a průmysl 4.0Smact a průmysl 4.0
Smact a průmysl 4.0
 
ECM-information system
ECM-information systemECM-information system
ECM-information system
 
TNPW2-2014-02
TNPW2-2014-02TNPW2-2014-02
TNPW2-2014-02
 
Nástroje pro práci s informacemi
Nástroje pro práci s informacemiNástroje pro práci s informacemi
Nástroje pro práci s informacemi
 

Závěrečný úkol KPI

  • 1. Argumentace Následující text je jednou z kapitol mojí bakalářské práce, kterou právě píši. Tato práce má za cíl vytvořit specifickou Android aplikaci. S ohledem na tento fakt je bezesporu vhodné popsat, jak takový Android program vypadá a jakou má strukturu. Jelikož je platforma Android stará jen pár let a většina vývojářů s ní nemá zkušenosti, bude pro ně i pro ostatní členy IT komunity tento text přínosný. Android a struktura aplikací na této platformě „Android pohání stovky milionů mobilních zařízení ve více než 190 zemích po celém světě. Je to nejrozšířenější mobilní platforma — každý den poprvé zapne Android zařízení další milion uživatelů a začne hledat aplikace, hry a další digitální obsah. Android nabízí zaprvé prvotřídní platformu pro vytváření softwaru a her pro Android uživatele na celém světě a zadruhé otevřený trh pro okamžitou distribuci.“1 [1] Jelikož je Android dnes tak masivně rozšířený, je vhodné se blížeji seznámit se strukturou aplikací vyvíjených na této platformě. Mezi hlavní komponenty Android programů patří aktivity, dodavatelé obsahu, služby a záměry [2]. Aktivita je základním stavebním kamenem, který zprostředkovává komunikaci s uživatelem. Ve většině případů reprezentuje jedno zobrazované okno s určitým grafickým rozhraním. Otevřené aktivity, chcete-li otevřená okna, jsou vkládána do zásobníku, díky čemuž je uživatel po zavření zobrazované aktivity přesměrován do aktivity předchozí, ze které byla zavřená aktivita spuštěna. Z toho vyplývá, že aktivity mají svůj životní cyklus, během kterého jsou všechny změny v nich provedené (uživatel vložil data) ukládány a opětovně načteny při návratu na vrchol zásobníku. Jakmile je aktivita zavřena, tedy odebrána ze zásobníku, všechna data jsou smazána a její životní cyklus končí. [2][3] Dodavatel obsahu umožňuje přistupovat ke strukturovanému úložišti dat, ve kterém mohou být data jak z integrovaných aplikací, tak i z těch stáhnutých. Dobrým 1 přeloženo z: „Android powers hundreds of millions of mobile devices in more than 190 countries around the world. It's the largest installed base of any mobile platform and growing fast — every day another million users power up their Android devices for the first time and start looking for apps, games, and other digital content. Android gives you a world-class platform for creating apps and games for Android users everywhere, as well as an open marketplace for distributing to them instantly.“
  • 2. příkladem je seznam kontaktů. Pomocí dodavatele obsahu tedy můžeme přistupovat k datům ostatních programů a poskytovat data našeho vlastního softwaru. Jedním z důvodů pro implementování této služby je například umožnění kopírování komplexních dat z naší aplikace do jiné pomocí „copy and paste“. [2][4][5] Služby na rozdíl od aktivit, které mohou být ukončeny téměř okamžitě po jejich spuštění, představují obvykle déle běžící procesy. Služba může být spuštěna v rámci aktivity, avšak její životní cyklus na ni není vázán. To znamená, že po ukončení aktivity může služba nadále existovat. Často jsou prováděny ve vlastním vlákně, aby nezatěžovaly běh ostatních procesů. Příkladnou ukázkou je přehrávání hudby, které je zpravidla spuštěno pomocí rozhraní daného programu, který je následně ukončen. Tato služba i přesto nadále přehrává všechny dostupné skladby a je schovaná na pozadí. [2][6] Záměry jsou systémové zprávy, které primárně slouží ke spouštění aktivit. Umožňují reagovat na výskyt různých událostí, jako je například přijetí SMS zprávy. Jinými slovy, popisují operaci, která má být provedena. [2][7] Dalšími součástmi Android aplikací jsou XML (Extensible Markup Language) soubory, manifest, preference, soubory s řetězci... Výše bylo řečeno, že aktivita zastupuje jedno zobrazované okno, které má určitý grafický vzhled. Ten je definován pomocí XML, které je načteno vždy při startu aktivity. XML soubor má vždy jeden rodičovský element, který definuje, jak v něm budou jeho potomci rozloženi. Potomci již mohou být jednotlivé, pro uživatele viditelné, komponenty, jako jsou tlačítka, rolovací lišty, editovací pole a mnoho dalších, anebo mohou pouze specifikovat vybrané vlastnosti jejich dalších potomků. Samozřejmě je možné vytvářet komponenty dynamicky v kódu některé třídy, ovšem toto řešení je složitější (jak z hlediska programátora, tak i ve velikosti kódu oproti tomu v XML) a je náchylné k chybám, protože je potřeba ošetřovat parametry, které XML řeší automaticky. [2] Manifest je XML soubor, ve kterém je deklarován obsah aplikace. Nalezneme zde tedy především, jakou verzi OS Android program podporuje, jaká práva program pro jeho správnou funkčnost potřebuje (například přístup k Internetu), která aktivita se spustí po zapnutí softwaru, deklaraci všech aktivit a služeb... V případě, že nebudou v manifestu uvedeny všechny aktivity či služby, aplikace při pokusu o jejich nastartování zahlásí chybu a spadne. [2]
  • 3. Systém preferencí umožňuje ukládat uživatelem vložená data, která jsou tvaru klíč a hodnota a jejichž účelem je uchovávat uživatelské nastavení. Příkladem je třeba volba vyzváněcího tónu nebo výběr barvy některého prvku grafického rozhraní. Toto nastavení je v zařízení uloženo trvale a je zachováno i po ukončení aplikace. [2] Nakonec zmíníme ještě soubory s řetězci, jejichž cílem je zaprvé uchovávání textových údajů či celých textových polí za pomoci specifického klíče, kterým jsou následně volány ze tříd, kde jsou potřeba, a zadruhé zjednodušení internacionalizace. [2] Anotace Text se zabývá strukturou aplikací vyvíjených na platformě Android. První část je věnována základním stavebním kamenům Android softwaru, kterými jsou aktivity, záměry, služby a dodavatele obsahu. V druhé části jsou následně popsány sekundární prvky Android aplikací, které bývají také velmi často přítomny. Mezi ně patří XML soubory, manifest, preference a soubory s řetězci. Klíčová slova Android, aktivita, záměr, služba, dodavatel obsahu Seznam použité literatura [1] Android, the world's most popular mobile platform. Android Developers [online]. © 2012 [cit. 2012-11-30]. Dostupné z: http://developer.android.com/about/index.html [2] MURPHY, Mark L. Android 2: průvodce programováním mobilních aplikací. Vyd. 1. Brno: Computer Press, 2011, 375 s. ISBN 978-80-251-3194-7. [3] Activity. Android Developers [online]. 2012 [cit. 2012-11-30]. Dostupné z: http://developer.android.com/reference/android/app/Activity.html [4] Content Providers. Android Developers [online]. 2012 [cit. 2012-11-30]. Dostupné z: http://developer.android.com/guide/topics/providers/content-providers.html
  • 4. [5] Content Providers Basics. Android Developers [online]. 2012 [cit. 2012-11-30]. Dostupné z: http://developer.android.com/guide/topics/providers/content-provider- basics.html [6] Service. Android Developers [online]. 2012 [cit. 2012-11-30]. Dostupné z: http://developer.android.com/reference/android/app/Service.html [7] Intent. Android Developers [online]. 2012 [cit. 2012-11-30]. Dostupné z: http://developer.android.com/reference/android/content/Intent.html Hodnocení zdrojů [1]:  text obsahuje odbornou terminologii  text je strukturovaný  informace jsou přesné a objektivní  text obsahuje aktuální informace  text je součástí webu Android Developers, což je oficiální web pro Android vývojáře od Googlu [2]:  knížka je odborně velmi kvalitní  je znám autor textu  autor je v problematice erudovaný  text obsahuje odbornou terminologii  text je strukturovaný  informace jsou přesné a objektivní [3][4][5][6][7]:  text obsahuje odbornou terminologii  text je strukturovaný  informace jsou přesné a objektivní  text obsahuje aktuální informace  text je součástí webu Android Developers, což je oficiální web pro Android vývojáře od Googlu  text je pravidelně aktualizovaný  pro neznalého čtenáře nevstřebatelný (značí vysokou odbornost)