IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

1. diel - Android programovanie - Úvod do Android programovania

V tomto e-learning kurzu sa naučíme vyvíjať mobilné aplikácie pre platformu Android. Začneme na úplných základoch a postupne sa prepracujeme k vytváraniu aplikácií a ich nasadzovanie na Google Play. Jednotlivé lekcie na seba nadväzujú a preto odporúčam preštudovať si ich postupne. Je predpokladaná aspoň základná znalosť programovania v akomkoľvek programovacom jazyku.

V dnešnej lekcii sa pozrieme na základy Androidu a na princípy a zásady vývoja aplikácií. Bude sa jednať najmä o potrebnú teóriu.

Android

Android - Programovanie Android aplikácií v Jave

Android je všade. V 2. štvrťroku 2018 obsahoval trh s inteligentnými telefónmi neuveriteľných 88% zariadení, na ktorých beží Android. Toto číslo neustále stúpa na úkor ostatných operačných systémov pre mobilné zariadenia (iOS a ďalšie). Android je teda jeden z najrýchlejšie rastúcich OS, čo dokazuje aj rýchlosť, s akou vychádza novej verzie tohto systému.

Pokiaľ sa ale bavíme o Android zariadeniach, nemusí sa vždy jednať o chytrý telefón. Android nájdeme aj na tabletoch, televíziách, set-top boxoch, Google TV a hodinkách. Dokonca sa pracuje aj na Android automobiloch.

My sa však budeme zameriavať na programovanie aplikácií najmä pre chytré telefóny.

Princípy a zásady vývoja aplikácií

Než sa budeme môcť pustiť do samotného programovania, musíme si ujasniť niekoľko základných princípov a zásad pre vývoj aplikácií, aneb z čoho mať radosť a na čo si dať pozor.

Obrazovka

Ak vytvárame aplikáciu určenú primárne pre chytré telefóny, musíme brať do úvahy to, že majú malé obrazovky. Aj keď súčasné zariadenia majú mnohokrát krásne HD a full HD rozlíšenie, na ktoré sme zvyknutí z našich klasických počítačov, ich fyzická veľkosť je od 3 "" krpcov "po tie najväčšie 6" "plácačky". Všeobecne však platí, že najpoužívanejšie veľkosti sú okolo 5 "- 6".

Vstupy a výstupy

Fyzická veľkosť obrazoviek prináša niekoľko problémov, ako v užívateľskom vstupe, tak v zobrazovaní výstupov.

Tlačidlo s pevným rozlíšením v px bude krásne použiteľné na 5 "zariadení ale na 10" tabletu bude takmer nemožné ho použiť. Nehovoriac o tom, že niektorí užívatelia majú väčšiu prsty než iní a preto by ovládanie príliš malých tlačidiel nebolo pre týchto používateľov práve pohodlné.

Ďalším problémom je text. Väčšina telefónov používa virtuálna klávesnica, na ktorých sa síce píše veľmi pohodlne, ale zakrývajú časť obrazovky, v niektorých prípadoch dokonca celú obrazovku, napríklad pri vertikálnom pretočení zariadení. Preto by sme sa mali čo najviac vyhnúť tejto udalosti.

Musíme premýšľať o alternatívach. Môžeme použiť napríklad tlačidlá, ktoré si naprogramujeme podľa potrieb tak, aby sme čo najviac uľahčili a zjednodušili užívateľovi zadávanie informácií. Ak budeme napríklad chcieť vložiť dátum, použijeme kalendár, nie "ručné" písanie. Alebo môžeme chcieť zadať číslo, pokiaľ to bude v prijateľných jednotkách, siahneme radšej na 2 tlačidlá "+" a "-". Jedným budeme hodnotu o 1 dvíhať a druhým o 1 znižovať.

Užívateľské rozhranie

Tiež je potrebné brať do úvahy to, ako mobil v rukách držíme, od toho môžeme odvodiť najpohodlnejšiu polohu tlačidiel a celkovo prispôsobiť užívateľské rozhranie tak, aby bolo čo najpríjemnejšie nielen vizuálne, ale aj tak, aby sa príjemne ovládalo. Vykreslenú časť aplikácie teda nemôžeme brať ako formulárové okno, ktoré poznáme z klasického programovania pre PC, ale ako interaktívne rozhranie, s ktorým je potrebné komunikovať fyzickým kontaktom s obrazovkou. Napríklad, ak vytvárame jednoduché menu nejaké aplikácie, snažíme sa centrovať tlačidlá tak, aby prvé bolo v strede obrazovky a ďalšie pod ním. Tým zaberieme plochu od stredu dole, ak užívateľ bude držať mobilný telefón v ruke, najjednoduchší prístup má práve v týchto miestach.

Orientácia obrazovky

Ako iste všetci viete, mobilné zariadenia zvyčajne mení orientáciu obrazovky buď na výšku, alebo na šírku, podľa natočenia zariadenia. Automatické natáčanie môžeme vypnúť, ak tak neurobíme, musíme si postrážiť, aby aplikácia vyzerala tak ako má aj po zmene orientácie. Nenechajme sa ale zmiasť. Nie vždy je dobré používať zmeny orientácie. Napríklad keď budeme vytvárať kalkulačku, je úplne zbytočné sa zaoberať funkcií pre zmenu orientácie.

Hardware

Výkon

V dnešných časoch nie je nič neobvyklé mať vo vrecku dialo s štyrmi alebo dokonca ôsmimi jadrami s taktom pokojne 2.8 GHz s výkonným grafickým čipom, ktorý ocenia určite všetci náruživý hráči hier s veľmi peknou grafikou a s dokonalými detailmi. Napriek tomu si stále musíme uvedomovať, že aplikáciu vytvárame práve pre chytré telefóny. Nie všetky sú tak výkonné, väčšina zariadení s Androidom je z cenovej relácie od 2 do 4 tisíc Sk a tým pádom majú oveľa nižší výkon. Používatelia od obyčajnej aplikácie vyžadujú najmä to, aby po jej spustení telefón aj naďalej fungoval ako telefón.

Môže sa totiž stať, že aplikácia vyťažuje procesor telefónu natoľko, že používateľ nie je schopný prijímať hovory, aplikácie nejde minimalizovať na pozadí alebo dokonca zamrzne.

Ak aplikácia zle uvoľňuje alokovanú pamäť, môže dokonca dôjsť k vážnym problémom. Na toto si musíme dať pozor najmä pri používaní animácií. Je dosť častou chybou pri novom Android programátora, že sa snaží používať animácie v príliš veľkej miere. Viac si o tom prezradíme až v nasledujúcich lekciách.

V jednoduchých aplikáciách, ktoré v týchto textoch budeme vytvárať, môžeme naraziť na niekoľko problémov. Napríklad na zbytočné používanie tzv. Old school AnimationDrawable animácií, konkrétne ide o snahu nahrať niekoľko snímok do pamäte a následne ich premietať ako animáciu. Tento spôsob riešenia zbytočne vyťažuje pamäť. Ďalšou častou chybou je používanie textúr sa zbytočne veľkým rozlíšením. Všetkého veľa škodí a v jednoduchosti je sila, v našom prípade výkon.

Úložisko

V čase keď píšem tieto texty, vlastní približne 60% majiteľov smartfónov zariadenia v hodnote okolo 4 000 Sk. V súčasnej dobe je u takéhoto zariadenia normálne mať k inštalácii aplikácií internej úložný priestor od 8 do 512 GB.

Android je totiž primárne nastavený tak, aby inštaloval aplikácie iba do internej pamäte. Pozrime sa napríklad na hru The Bard 's Tale, tá vo svojej "dokonalejšie" verzii má bezmála 4 GB. Takúto aplikáciu si do svojho telefónu stiahne len málo užívateľov a ešte menej užívateľov ju rozchodí bez problémov, týkajúcich sa nedostatočného výkonu.

Na inštaláciu aplikácií na SD kartu, teda externú pamäť, síce postupy existujú, ale väčšinou vyžadujú zvýšená práva, k tomu je potrebné tzv. "Rootnutí" telefónu a tým užívateľ v drvivej väčšine prípadov stráca záruku alebo sa jedná o zložitejšie postupy, ktoré nezvládne obyčajný používateľ a nie vždy fungujú na všetkých zariadeniach.

Vo výsledku ale stále platí, že čím je aplikácia menšia, tým je pre užívateľov pohodlnejšie.

Ďalšie vybavenie chytrých telefónov

Pripojenie k internetu

Chytré telefóny sú vybavené na prístup do siete pomocou Wi-Fi a 4G siete. Stále viac a viac ľudí používa svoj mobilný telefón ako prístupový bod k internetu. To nám prináša obrovské možnosti využitia internetu.

V aplikácii môžeme použiť napríklad vstavaný widget webového prehliadača alebo ukladanie či načítanie dát z rôznych serverov. Môžeme teda využívať pripojenie k internetu podľa ľubovôle.

Kamera a mikrofón

Chytrý telefón nám umožňuje prehrávať a zhotovovať videá, fotografie či hudobné súbory. Do aplikácie môžeme zahrnúť napríklad nahrávanie zvukových záznamov alebo fotoaparát. Môžeme robiť videá, popr. fotografie, a ďalej s nimi pracovať.

Gyroskopy a GPS

V súčasnej dobe je štandardom, že šikovný telefón obsahuje gyroskopy, popr. akcelerometre a GPS. Za pomocou GPS alebo triangulácie pomocou siete môžeme zistiť informácie o zemepisnej polohe a načítavať rôzne mapy alebo sledovať trasu zariadení. Na využitie triangulácia pomocou siete je potrebné poznať polohu vysielačov mobilnej siete alebo siete Wi-Fi. Databázu, v ktorej takéto informácie sú, vytvára napríklad spoločnosť Google.

Využiť by sa dali aj gyroskopy, pomocou ktorých zistíme informácie o náklonu telefóne.

Funkcie mobilného telefónu

Ak vytvárame aplikácie pre chytré telefóny, je jasné, že máme prístup k vykonávaniu hovorov a posielanie a prijímanie SMS. V jednej z nasledujúcich lekcií si vytvoríme aplikáciu na volanie.

Výhody

Ako som už spomenul, nespornou výhodou je kombinácia "Mobilné prenosné zariadenia + internet".

Aplikácie bežiace na telefóne podliehajú pevne daným pravidlám, ktoré zaisťujú napríklad to, aby nedochádzalo ku konfliktom so samotným systémom.

Aplikácie sú písané v pomerne rozšírenom jazyku Java. Ide o jazyk, ktorý je multiplatformový. O Jave všeobecne platí, že programy napísané v tomto jazyku teda beží na rôznych zariadeniach, k svojmu správnemu fungovaniu potrebujú, aby bol nainštalovaný balík Java Runtime Environment (JRE), jedná sa o balík určený pre koncových užívateľov. Ďalšia balík je Java Development Kit (JDK), ten je určený pre vývojárov.

Ak niekto má strach z prechodu na jazyk Java, nie je na to vôbec dôvod. Pred tým, než som sa začal venovať vývoju pre Android som mal tú česť iba s C ++ a C #. Prechod na Javu je tak nenápadný, že si ani nevšimnete, že píšete v inom jazyku.

V budúcej lekcii, Android programovanie - Vývojové prostredie , si nainštalujeme vývojové prostredie Android Studio a vysvetlíme si štruktúru Android projektu.


 

Všetky články v sekcii
Programovanie Android aplikácií v Jave
Preskočiť článok
(neodporúčame)
Android programovanie - Vývojové prostredie
Článok pre vás napísal Jiří Frank
Avatar
Užívateľské hodnotenie:
8 hlasov
Autor se věnuje programování v C# a vývoji aplikací pro platformu Android a dalším věcem spojeným s Android OS
Aktivity