přejít na obsah přejít na navigaci

Linux E X P R E S, Grant Allen: Android 4

Grant Allen: Android 4

android_4.jpg

Kniha s podtitulem „Průvodce programováním mobilních aplikací“ slibuje čtenářům, že se velmi rychle naučí programovat mobilní aplikace pro telefony a tablety. Dokáže to kniha splnit? Stane se z každého po jejím přečtení a po vyzkoušení obsažených příkladů úspěšný programátor aplikací pro Android?


reklama

Vývoj mobilních aplikací

S rozmachem operačního systému Android začaly velmi rychle vznikat nové a nové aplikace, které tento rozmach dále podpořily, protože má uživatel z čeho vybírat a snadno najde vhodnou aplikaci řešící jeho potřeby. Ovšem stále je tu velký prostor pro tvorbu zcela nových programů, případně vylepšování těch stávajících (mnoho z nich má totiž otevřené zdrojové kódy).

Kdo by se chtěl do této oblasti vrhnout, asi si brzy uvědomí, že mobilní svět má svá specifika. Oproti běžným počítačům je vývoj pro tablety, a zejména telefony svázán mnohem větší množinou různých omezení – počínaje malým displejem (který může mít třeba i velké rozlišení, ale fyzické rozměry jsou malé) přes častou absenci mechanické klávesnice (která je nahrazena virtuální klávesnicí na dotykovém displeji), malou operační paměť až třeba po energetickou závislost na nepříliš velké baterii.

Naopak bývá na mobilních přístrojích k dispozici poměrně velká škála vstupních zařízení. Dnes skoro každé zařízení disponuje různými snímači (akcelerometry, polohová čidla, snímače magnetického pole, ...), přijímačem GPS nebo komunikačními rozhraními, jako jsou BluetoothNFC.

Proto je potřeba na programování mobilních aplikací, a tedy i na knihu, která se jím zabývá, nahlížet trochu jinou optikou, než je tomu v případě vývoje například pro desktop, server nebo koneckonců i web. Někdy se říká, že kvalita mobilních aplikací tkví v jednoduchosti. Ovšem té jednoduchosti nemusí být vždy jednoduché dosáhnout.

O knize v obecné rovině

Nákupem knihy přeložené do češtiny z přibližně rok starého originálu Granta Allena člověk získává 656 stran textu a černobílých obrázků. Podstatnou část stránek vyplňují příklady kódu programů, což naznačuje přítomnost menšího množství suché teorie a většího podílu praktických ukázek.

Kniha je rozdělena do osmi částí s celkem 49 kapitolami. Jednotlivé části jsou vždy zaměřeny na určité obecnější oblasti, kapitoly uvnitř těchto částí se pak podrobněji zabývají specifičtějšími věcmi v jednotlivých oblastech. Tedy nic překvapivého, co by bylo jinak, než je u podobných knih zvykem.

Obsah jednotlivých částí knihy

1. Další funkce systému Android (?)

Poněkud divný název (který je velmi pravděpodobně chybný, protože se opakuje u šesté části) nedává tušit, o čem bude řeč. V celkem šesti kapitolách autor provede čtenáře prvními kroky, které jsou nezbytné pro přípravu před vlastním programováním. Nejprve stručně popisuje aktuální situaci v oblasti systému Android, pak už se věnuje instalaci vývojového prostředí včetně SDK, emulátoru a dalších potřebných součástí a také vytvoření a vylepšování prvního projektu. Předpokládá práci v prostředí Eclipse IDE, které je svobodné a je k dispozici pro Linux, Windows a OS X.

2. Aktivity

Možná znáte aktivity jako technický termín z desktopového prostředí KDE, ale tohle je něco jiného. Aktivity jsou hlavní entitou při vývoji aplikací pro Android (zhruba odpovídají oknům u desktopových aplikací) a autor jim věnuje téměř polovinu knihy.

Tady se můžete naučit práci s všemožnými objekty uživatelského rozhraní (widgety), s využitím prohlížečového jádra WebKit, obsluhou událostí životního cyklu aplikace (těch je mnoho a jejich správné ošetření je klíčem k dobře fungující a „neotravné“ aplikaci), ale třeba i s vlákny (tak jak je známe odjinud) nebo s tzv. záměry (další specifický pojem týkající se komunikace mezi aplikacemi).

Přestože jsou displeje mobilních přístrojů obecně malé, mohou mít různou velikost a poměr stran; třetí část knihy začíná právě touto problematikou. Dále zde „potkáte“ systém Android 3.0 Honeycomb, který přinesl do GUI práci s fragmenty, která se využije především na tabletech, kde rozdělení displeje na fragmenty umožňuje lépe využít jeho plochu. Jedna kapitola je věnována také různorodosti verzí systému Android (postupně vydaných) a jak s tímto problémem naložit.

4. Úložiště, síťové služby a API

Čtvrtá část knihy se věnuje ukládání dat do souborů a databází, síťové komunikaci a využití knihoven Javy. Dozvíte se například, jak se pracuje s databázovým systémem SQLite, proč a kdy synchronizovat souborový systém a jak přistupovat ke vzdáleným službám přes REST API.

5. Služby

Služby jsou v systému Android aplikační komponenty, které nemají vlastní uživatelské rozhraní, běží na pozadí a vykonávají nějaké činnosti – například získávají nějaká data ze serveru nebo místně něco zpracovávají, aniž by k tomu potřebovaly interakci s uživatelem (typickými případy jsou třeba stahování pošty nebo záznam polohy z GPS). Tato část knihy ukazuje, jak se službami pracovat a jak používat upozornění.

6. Další funkce systému Android

Dalo by se říct, že se v této části objevuje vše, co nebylo v těch předchozích. První kapitole se zabývá problematikou oprávnění, v systému Android velmi důležitou. Najdete zde také práci se zeměpisnými údaji (včetně zobrazování zabudované mapy), obsluhu telefonních hovorů, práci s písmy a využití dalších vývojových nástrojů, než se kterými se dosud pracovalo.

7. Alternativní prostředí

Zatímco většina knihy je věnována vývoji v jazyce Java, jedna část se zabývá i dalšími možnostmi, jak vyvíjet aplikace pro Android. Jedná se konkrétně o HTML5 (včetně ukládání dat do Web Storage), platformu PhoneGap (založenou na Apache Cordova) a ve zkratce také o Rhodes, Flash, JRuby a některé další.

8. Budoucí vývoj systému

Zde se kupodivu nedozvíte nic o tom, kam se bude vývoj systému Android ubírat (to už ostatně dnes částečně víme, protože od napsání knihy byly vydány čtyři nové verze: 4.1 až 4.4). Co se ale naopak dozvíte, jsou některé zásady pro vývoj aplikací tak, aby byly maximálně flexibilní nejen z hlediska různých verzí systému, ale i z hlediska hardwarových vlastností a nastavení jednotlivých přístrojů. Nechybí ani stručné informace o Google Play a o testování zařízení.

Shrnutí

Přestože je kniha nazvána „Android 4“, ve skutečnosti není příliš vázána na tuto verzi. Dá se říci, že se podle ní dá stejně dobře vyvíjet i pro starší verze, přinejmenším od 2.3 Gingerbread. Informace o vlastnostech a funkcích novějších verzí už jsou jen takový příjemný bonus navrch.

Celkově lze knihu hodnotit jako velmi povedenou, protože kdo bude postupovat krok za krokem, od začátku do konce, při troše snahy se naučí prakticky vše, co při vývoji mobilních aplikací potřebuje (samozřejmě za předpokladu, že již umí psát programy v Javě a zvládá základní programovací techniky). Co trochu zamrzí, jsou občasné chyby (nejkřiklavější je již zmíněný nadpis první části) a také to, že se člověk nedozví některé zajímavé věci, třeba jak pracovat se systémovým kalendářem. Jsou to drobnosti, ale k dokonalé spokojenosti by určitě přispěly.

Nahoru

(Jako ve škole)
Průměr: 4,27 | Hodnotilo: 15
 

Top články z OpenOffice.cz

Přidat téma diskuse

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Lukáš Jelínek

Lukáš Jelínek

Šéfredaktor LinuxEXPRESu a OpenOffice.cz. Vystudoval FEL ČVUT v oboru Výpočetní technika. Žije v Kutné Hoře a podniká v oblasti informačních technologií. Ve volném čase rád fotografuje, natáčí a stříhá video a také se věnuje (v Čechách poměrně málo známému) powerkitingu.


  • Distribuce: Debian, Kubuntu
  • Grafické prostředí: KDE
  • Hodnocení autora: ***

| proč linux | blog



Public Relations

QNAP uvedl novou modelovou řadu NAS TVS-x82T

Společnost QNAP uvedla na trh novou modelovou řadu NAS TVS-x82T, kterou tvoří tři různé modely (TVS-1282T, TVS-882T a TVS-682T). Nová řada je založena na vícejádrových procesorech Intel Core aktuální generace se 14nm výrobním procesem. Díky nim mohou nové NASy nabídnout dostatek výkonu i pro aplikace náročné na CPU.

Pokračování ...


CIO Agenda 2016