Google+ Followers

středa 25. září 2013

Delphi XE5: Vývoj pro Android I.

Nová verze Delphi, která byla uvedena na trh 11. 9. letošního roku rozšířila podporu cílových platforem o populární operační systém Android. Android je velmi specifická platforma známá svou vysokou fragmentací. V praxi to znamená širokou škálu verzí, s kterou se může vývojář u svých potenciálních uživatelů setkat. Embarcadero se samozřejmě snažilo zajistit podporu všech dominantních verzí, ale v různých zemích může být situace odlišná a speciálně u starších nebo levnějších zařízení je možné lidově řečeno "narazit".  
Před zahájením vývoje aplikací pro Android v Delphi XE5 je proto víc než vhodné ověřit, zda máte k dispozici zařízení odpovídající systémovým požadavkům. Předejdete tak frustraci, že Vaši aplikaci nespustíte a budete dlouze pátrat po příčinách. Zároveň je to důležitá informace z hlediska nasazení hotových aplikací u cílových uživatelů. Pojďme se tedy podívat, jaké požadavky musí zařízení splňovat:

1) ARM 7 - První podmínkou pro úspěšné sestavení a spuštění aplikace je verze architektury procesoru ARM. Sama společnost ARM již procesory nevyrábí. Mobilních zařízení navíc používají čipy, které integrují i grafické jádro, paměti, komunikační moduly a podobně. Můžeme se tak setkat s čipy od Samsungu, Nvidie nebo společnosti Texas Instruments. Delphi XE5 vyžadují koncové zařízení s procesory s architekturou ARMv7, což je většina procesorů rodiny Cortex. Ucelený přehled naleznete na http://cs.wikipedia.org/wiki/ARM.


2) NEON - Aplikace vytvořené v Delphi XE5 vyžadují podporu technologie NEON. NEON (http://www.arm.com/products/processors/technologies/neon.php) je rozšíření instrukční sady procesourů ARM, které významně urychluje zpracování určitých typů úloh jako je renderování nebo práce s multimédii. Toto rozšíření bohužel nepodporují procesory s označením Tegra2 společnosti Nvidia.


3) Android - Na koncovém zařízení musí být dále instalována některá z podporovaných verzí operačního systému Android. Jedná se o následující verze (API):

  • Jelly Bean, tedy Android ve verzi 4.1.x, 4.2.x nebo 4.3.x (API Level 16, 17 a 18)
  • Ice Cream Sandwich, Android 4.0.3 nebo 4.0.4 (API Level 15)
  • Gingerbread, Android 2.3.3 - 2.3.7 (API Level 10)
V případě, že zařízení odpovídá HW požadavkům, ale má instalovanou některou z nepodporovaných verzí OS, ověřte možnost upgrade. V ideálním případě tuto možnost naleznete v menu "Nastavení => Aktualizace software". Pokud tuto možnost zařízení nenabízí, doporučuji se obrátit na prodejce. Na GooglePlay je sice k dispozici řada "ROM Manažerů" a "ROM Updaterů", ale vzhledem k variabilitě zařízení a licencování je zde riziko, že zařízení po aktualizaci nebude pracovat.
Výše uvedené systémové nároky si lze ověřit na základě specifikací jednotlivých zařízení, jak je uvádí dodavatel, nebo díky volně dostupné aplikaci Christophera Moellera "SysCheck". Aplikace je ke stažení přes aplikační obchod GooglePlay.





Jestliže zatím žádné zařízení nevlastníte a o jeho nákupu teprve uvažujete, doporučuji zakoupit některé z přímo podporovaných přístrojů:

  • Google Nexus 4, 7 a 10
  • Samsung Galaxy SII a S4



Bližší informace o podporovaných zařízeních včetně informací jak byly testovány naleznete na http://docwiki.embarcadero.com/RADStudio/XE5/en/Android_Devices_Supported_for_Application_Development.
U nejlevnějších telefonů a tabletů (Colorovo, GoClever, Point Of View, Acer apod.) jsou často používány jednotky Cortex-A9, které mají technologii NEON jako volitelné rozšíření. Pokud nebudete mít jistotu, že konkrétní zařízení podporu NEON obsahuje, jeho nákupu se rozhodně vyhněte.