ANTIK ANTIK ANTIK

Programujeme pre Android /1.časť

0

Pri sledovaní našich starších seriálov o Linuxe a OpenGL ste si určite všimli, že nami zadané úlohy sme riešili v rámci OS Linux. No a práve linuxové jadro (kernel) je základom OS Android. Na prípravu našich vzorových aplikácií sme používali programovací jazyk C++ a aj napriek tomu, že Android sa v tomto smere spolieha na Javu, pomocou NDK (Native Development Kit) dokáže spracovať aj kód napísaný v jazyku C++. Knižnice SDL, OpenGL a jazyk GLSL sú multiplatformovými riešeniami, ktoré dokážeme využiť či už v Linuxe, alebo v Androide. Ich význam a použitie je takmer identické. Rozdiely sú spôsobené najmä hardvérovými obmedzeniami toho-ktorého systému. Nakoniec sa dostávame k vývojovým prostrediam, ktoré síce nie sú identické, avšak pretože dodržiavajú princípy Open Source produktov, majú viacero spoločných čŕt.

Vedomosti, ktoré sme nadobudli pri sledovaní našich seriálov uverejňovaných v priebehu posledných ôsmich rokov, nás jednoducho nemohli doviesť inam ako k Androidu. Ide totiž o OS, ktorý stavia na rovnakom jadre a rovnakých knižniciach. Mnohé črty jazyka Java sa podobajú jazyku C++ čo výrazne uľahčuje prevod (preportovanie) aplikácií z PC do nového prostredia.

Jednotlivé korelácie sumarizuje tabuľka:

  Programovanie pre Linux Programovanie pre Android
Operačný systém Linux jadro Linux + Dalvik VM
Programovací jazyk C++ (gcc, make) Java (javac), avšak cestou NDK aj C++ 
Prístup k hardvéru a multimédiám SDL SDL
Grafická knižnica OpenGL OpenGL ES
Kód shaderov GLSL GLSL
Vývojové nástroje vi, KDevelop, Anjuta, Kylix, Geany... Eclipse, IntelliJ IDEA, Android Studio...

Nultá“ aplikácia

Pozn. autora: „Priznám sa, že v okamihu keď som sa rozhodol písať tento seriál, som nemal s programovaním pre Android žiadne skúsenosti. Napriek tomu sa mi podarilo za približne 5 hodín „čistého“ pracovného času od inštalácie prvého nástroja úspešne spustiť „nultú“ aplikáciu (obr. 1). Svoju úlohu zohral v prvom rade samotný Android, Java a v neposlednom rade moderná filozofia vývoja aplikácií pre Android. Tým v žiadnom prípade nechcem povedať, že som sa stal v tomto obore profesionálom, a že vývoj aplikácií pre Android je triviálny.“

Obr. 1 Grafický výstup aplikácie glsl v3.1 (príloha 27. časti seriálu „Programujeme GPU“) spustenej na PC a grafický výstup totožnej aplikácie preportovanej na OS Android

Spomínaná „nultá“ aplikácia vznikla v IDE Eclipse pomocou tzv. brute-force metódy. Jej kód je teda neefektívny a bez akéhokoľvek riešenia chybových stavov či výnimiek. Funkčná aplikácia je však dôkazom toho, že naše doterajšie vedomosti a skúsenosti možno plnohodnotne využiť na rýchle preportovanie aplikácií do prostredia Android. Od tohto okamihu sa pre nás stal Android nesmierne zaujímavým.

Google spravil kus poriadnej práce a pre vývojárov pripravil veľmi intuitívne nástroje. Najdôležitejším z nich sú balíky SDK (Software Development Kit) a už spomínaný NDK. Ich obsahom je sada nástrojov, ktoré nám pomôžu pri vývoji a exporte aplikácií. Je samozrejmé, že naše vývojové prostredie musíme pripraviť, správne nakonfigurovať a jednotlivé nástroje vzájomne prepojiť. O tom však až nabudúce.

Určenie seriálu

Tento seriál je určený pre tých z nás, ktorí plánujú začať programovať pre Android. V tomto smere nepotrebujeme profesionálne zručnosti. Nezaobídeme sa však bez patričnej úrovne ovládania OS Linux a rozšírených programátorských zručností. Tie potrebujeme na to, aby sme sa dokázali v čo najkratšom čase zorientovať v jazyku Java.

Seriál sme síce začali netradične a to návratom k OpenGL, jeho náplňou však nebude vývoj čisto grafických aplikácií ani používanie natívneho C++. Programovať budeme v Jave za dodržania postupov, ktoré sú pre Android vlastné.

 

 

 

 

Zobrazit Galériu

Marek Sopko

Všetky autorove články
programovanie seriál Android

Pridať komentár

Mohlo by vás zaujímať

Mohlo by vás zaujímať