Programujeme pre Android / Úvod

android_logo.jpg Pri sle­do­va­ní na­šich se­riá­lov o Li­nuxe a OpenGL ste si ur­či­te všim­li, že na­mi za­da­né úlo­hy sme rie­ši­li v rám­ci OS Li­nux. No a prá­ve li­nuxové jad­ro (ker­nel) je zá­kla­dom OS An­droid. Na príp­ra­vu na­šich vzo­ro­vých ap­li­ká­cií sme pou­ží­va­li prog­ra­mo­va­cí ja­zyk C++ a aj na­priek to­mu, že An­droid sa v tom­to sme­re spo­lie­ha na Ja­vu, po­mo­cou NDK (Na­ti­ve De­ve­lop­ment Kit) do­ká­že spra­co­vať aj kód na­pí­sa­ný v ja­zy­ku C++.

Kniž­ni­ce SDL, OpenGL a ja­zyk GLSL sú mul­tip­lat­for­mo­vé rie­še­nia, kto­ré do­ká­že­me vy­užiť či už v Li­nuxe, ale­bo v An­droi­de. Ich vý­znam i pou­ži­tie sú tak­mer iden­tic­ké. Roz­die­ly sú spô­so­be­né naj­mä har­dvé­ro­vý­mi ob­me­dzenia­mi prís­luš­né­ho sys­té­mu. Na­ko­niec sa dos­tá­va­me k vý­vo­jo­vým pros­tre­diam, kto­ré sí­ce nie sú iden­tic­ké, ale pre­to­že dodr­žia­va­jú prin­cí­py open sour­ce pro­duk­tov, ma­jú via­ce­ro spo­loč­ných čŕt.

Jed­not­li­vé ko­re­lá­cie su­ma­ri­zu­je ta­buľ­ka:

tabulka.jpg

Ve­do­mos­ti, kto­ré sme na­do­bud­li pri sle­do­va­ní na­šich se­riá­lov uve­rej­ňo­va­ných v prie­be­hu pos­led­ných ôs­mich ro­kov, nás jed­no­du­cho ne­moh­li do­viesť inam ako k An­droi­du. Ide to­tiž o OS, kto­rý sta­via na rov­na­kom jad­re a rov­na­kých kniž­ni­ciach. Mno­hé čr­ty ja­zy­ka Ja­va sa po­do­ba­jú ja­zy­ku C++, čo vý­raz­ne uľah­ču­je pre­vod (por­to­va­nie) ap­li­ká­cií z PC do no­vé­ho pros­tre­dia.

Ur­če­nie se­riá­lu

Ten­to se­riál je ur­če­ný pre tých, kto­rí plá­nu­jú za­čať prog­ra­mo­vať pre An­droid. V tom­to sme­re ne­pot­re­bu­je­me pro­fe­sio­nál­ne zruč­nos­ti. Ne­zao­bí­de­me sa však bez pat­rič­nej úrov­ne ov­lá­da­nia OS Li­nux a roz­ší­re­ných prog­ra­má­tor­ských zruč­nos­tí. Tie pot­re­bu­je­me na to, aby sme sa v čo naj­krat­šom ča­se zo­rien­to­va­li v ja­zy­ku Ja­va.

Se­riál sme sí­ce za­ča­li net­ra­dič­ne, a to náv­ra­tom k OpenGL, je­ho nápl­ňou však ne­bu­de vý­voj čis­to gra­fic­kých ap­li­ká­cií ani pou­ží­va­nie na­tív­ne­ho C++. Prog­ra­mo­vať bu­de­me v Ja­ve za dodr­ža­nia pos­tu­pov, kto­ré sú pre An­droid vlas­tné.

„Nul­tá" ap­li­ká­cia

Poz­nám­ka auto­ra: Priz­nám sa, že v oka­mi­hu, keď som sa roz­ho­dol pí­sať ten­to se­riál, som ne­mal s prog­ra­mo­va­ním pre An­droid žiad­ne skú­se­nos­ti. Na­priek to­mu sa mi po­da­ri­lo prib­liž­ne za 5 ho­dín „čis­té­ho" pra­cov­né­ho ča­su od in­šta­lá­cie pr­vé­ho nás­tro­ja ús­peš­ne spus­tiť „nul­tú" ap­li­ká­ciu (obr. 1). Úlo­hu tu zoh­ral v pr­vom ra­de sám An­droid, Ja­va a v ne­pos­led­nom ra­de mo­der­ná fi­lo­zo­fia vý­vo­ja ap­li­ká­cií pre An­droid.

Android-obr1.jpg

Obr. 1 Gra­fic­ký vý­stup ap­li­ká­cie glsl v3.1 (príl­oha 27. čas­ti se­riá­lu Prog­ra­mu­je­me GPU) spus­te­nej na PC
a gra­fic­ký vý­stup to­tož­nej ap­li­ká­cie por­to­va­nej na OS An­droid

Spo­mí­na­ná „nul­tá" ap­li­ká­cia vznik­la v IDE Ec­lip­se po­mo­cou tzv. bru­te-for­ce me­tó­dy. Jej kód je te­da nee­fek­tív­ny a bez aké­ho­koľ­vek rie­še­nia chy­bo­vých sta­vov či vý­ni­miek. Fun­kčná ap­li­ká­cia je však dô­ka­zom to­ho, že na­še do­te­raj­šie ve­do­mos­ti a skú­se­nos­ti mož­no pl­no­hod­not­ne vy­užiť na rých­le por­to­va­nie ap­li­ká­cií do pros­tre­dia An­droid. Od toh­to oka­mi­hu sa pre nás stal An­droid nes­mier­ne za­ují­ma­vým.

Goog­le spra­vil kus po­riad­nej prá­ce a pre vý­vo­já­rov prip­ra­vil veľ­mi in­tui­tív­ne nás­tro­je. Naj­dô­le­ži­tej­šie z nich sú ba­lí­ky SDK (Software De­ve­lop­ment Kit) a už spo­mí­na­ný NDK. Ich ob­sa­hom je súp­ra­va nás­tro­jov, kto­ré nám po­mô­žu pri vý­vo­ji a expor­te ap­li­ká­cií. Je sa­moz­rej­mé, že na­še vý­vo­jo­vé pros­tre­die mu­sí­me prip­ra­viť, správ­ne na­kon­fi­gu­ro­vať a jed­not­li­vé nás­tro­je vzá­jom­ne pre­po­jiť. O tom však až na­bu­dú­ce.

Zdroj: IW 1-2/2014



Ohodnoťte článok:
 
 
 

24 hodín

týždeň

mesiac

Najnovšie články

Ako ušet­riť IT nák­la­dy po­mo­cou tech­no­ló­gie big da­ta
V dnešnej informačnej dobe nás dáta sprevádzajú na každom kroku a stávame sa svedkami obrovskej dátovej explózie. čítať »
 
FlexPod Se­lect har­dvé­ro­vá plat­for­ma pre Ha­doop
S príchodom nových technologických možností, ako sú sociálne siete, mobilné zariadenia, kamery a rôzne senzory pripojiteľné k dátovej sieti, sa mnohé firmy a inštitúcie stali schopnými generovať obrovské objemy dát, ktoré potenciálne obsahujú zaujímavú informáciu, ale nie sú priamo vyhodnotiteľné človekom ani bežnými výpočtovými prostriedkami, resp. len v obmedzenej miere. čítať »
 
Ino­vo­va­né šab­ló­ny pre ap­li­ká­cie Win­dows 8.1
Okrem základnej šablóny „prázdnej“ aplikácie majú vývojári a dizajnéri k dispozícii tri sofistikované šablóny Grid App, Split App a Hub App. Sú koncipované tak, aby čo najviac pokryli typické scenáre aplikácií Windows 8.1 s používateľským rozhraním Modern UI. Samozrejmá je optimalizácia aplikácií vytvorených podľa týchto šablón na dotykové ovládanie. čítať »
 
Prog­ra­mu­je­me pre An­droid / Úvod
Pri sledovaní našich 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. čítať »
 
DNS – kon­tro­la syn­tak­tic­kých zá­pi­sov a spus­te­nie sys­té­mu
V predošlej časti sme rozdelili našu sieť na vonkajšiu a vnútornú, vytvorili podľa toho dva pohľady (views) a nakoniec upravili konfiguračný súbor named.conf . Tým sme v podstate ukončili konfiguráciu DNS a dnes pristúpime k odladeniu a spusteniu nášho systému. čítať »
 
Le­no­vo Yoga Tab­let 10
Tento tablet rieši dva zásadné problémy, s ktorými sa stretávajú používatelia: ako s tabletom pohodlne pracovať bez dodatočného držiaka a ako s ním na batériu pracovať naozaj dlho. Používateľ s tabletom Yoga môže pracovať v troch režimoch - Hold, Tilt alebo Stand. čítať »
 
Koe­fi­cient kva­li­ty – účin­ný nás­troj na zvý­še­nie efek­ti­vi­ty
U nás vo firme sme čelili viacerým problémom, týkajúcim sa výkonu, kvality a vedenia vývojového oddelenia. Firma vnímala vývojársky tím ako jedno zo slabších oddelení a panoval všeobecný názor, že „devel" produkuje obrovské množstvo chýb a nestíha veci načas. čítať »
 
Kon­zul­tač­né služ­by v IT
Vo väčšine firiem nemožno zvládnuť rozvoj IT infraštruktúry na požadovanom stupni komplexnosti silami interných zamestnancov. Manažment si uvedomuje výhody investovania do externého poradenstva. čítať »
 
 
 
  Zdieľaj cez Facebook Zdieľaj cez Google+ Zdieľaj cez Twitter Zdieľaj cez LinkedIn Správy z RSS Správy na smartfóne Správy cez newsletter