IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

18. diel - Programujeme Android hru - Nahranie hry do zariadenia

Vážení priatelia, všetko raz skončí. Rovnako tak dnešným posledným dielom končí náš seriál, ktorý je príkladom toho, že aj jediný amatérsky autor môže sám vytvoriť jednoduchú hru. Na Google Play, kde som ostrú verziu našej hry zverejnil, sú ako vývojári uvedení pragmaticdeve­lopers. Nenechajte sa tým mýliť, za projektom skutočne stojím len ja. Názov som si dal v množnom čísle, pretože som mal v úmysle zapojiť do projektu ešte jedného alebo dvoch nadšencov. Bohužiaľ, nikoho som na spoluprácu bez vidiny zisku napodiv nezohnal :) Hoci možno tvoriť samostatne, odporúčam prizvať k sebe k spolupráci rovnako nadšeného kamaráta, s ktorým si úlohy na projekte rozdelíte.

Odhalenie a Motivácia - pokojne preskočte

Nechcem byť za klamára a nikoho klamať, preto musím priznať, že som hru nevytváral z jednoduchého nadšenia. V začiatku v tom bola určitá počiatočná krásna forma naivity :) Bol som inšpirovaný vývojára Nguyen Ha Dong, ktorý vytvoril jednoduchú hru Flappy bird. V čase najväčšej slávy tejto hry kolovala po internete správa, že Flappy bird zarábal na reklame svojmu tvorcovia v prepočte milión korún denne. Už som sa videl v hoteli v nejakej exotickej destinácii.

Business plán bol jednoduchý. Hráč Wacky chicken, aby dosiahol skóre, musí neustále urýchľovať sliepku klikaním na krmivo, v tom sa nečakane a zákerne objavia cez celý displej reklama. Hráč je chudák Rozklikanie a preto zotrvačnosťou na túto reklamu klikne. A zbohatnutie? Nie, uhádli ste správne, žiadne finančné tornádo neprišlo, neprišlo totiž vôbec nič :)

Odhalením business plánu chcem zodpovedať, čím a prečo sa nadrobno líšia verzia hry v našom seriáli a publikovaná verzie na Google Play.

V publikovanej sú navyše tieto prvky: reklama, odkaz na facebook, rebríček najvyšších dosiahnutých scores a tlačidlá. Reklama je jasná, vývojári a poskytovateľmi má zarábať peniaze, predajcovia zasa pomôcť predať produkt / službu. Odkaz na Facebook pre popularizáciu hry a vývojárov. Herný rebríček mal zabezpečiť, aby hráči mali motiváciu sa predháňať, hrať tak viac a tým viac klikať na reklamu. :) Konečne tlačidlá sú potrebné, aby tieto pridanej prvky išli spúšťať.

Prečo toto všetko nie je v našom tutoriálu? Pretože by to mohlo mnoho čitateľov odradiť, už takto je seriál pomerne dlhý. Vyžadovalo by to ďalší strany textu s postupmi, ako reklamu a herné rebríček do našej hry implementovať, ďalší zdrojový kód s obslúžením týchto prvkov. Prípadní záujemcovia si postupy a API nájdu v publikovanej dokumentácii sami.

Nahranie našej aplikácie do zariadenia

Dnešné lekcie nebude o písania kódu. Ukážeme si, ako našej hru nahrať do mobilného telefónu alebo tabletu. Pred samotným nahraním ešte potrebujeme v projektovej zložke wacky-chicken-android nahradiť predvolené ikony:

Súbory východiskových ikon nahradíme našimi - Programujeme Android hru

Cesta k týmto ikonám je ...workspace\wackychicken\android\res. Ak by sme to neurobili, tak sa nám v zariadení, na ktorom našu aplikáciu budeme spúšťať, bude u našej hry objavovať ikona Android. My chceme ikonku našej hlúpe sliepky. Ikony sú k stiahnutiu nižšie. Ak sme nahradenie vykonali pri spustenom Eclipse, klikneme pravým tlačidlom na dotknutú projektovú zložku az ponuky vyberieme Refresh.

Poznám dva možné spôsoby nahranie appky do zariadenia. Druhý ale viem len pre Windows. Ukážeme si obe možnosti.

Prvý postup

Prvým postupom je exportovanie aplikácie ako "podpísaného balíčka aplikácie". Podmienkou tohto postupu, aby nám hra išla inštalovať, je povolenie neznámych zdrojov v nastavení zabezpečenia:

nastavenie zabezpečenia - Programujeme Android hru

Našou hru vyexportuje rovno do zariadenia. Pripojme teda náš mobil alebo tablet pomocou USB kábla do PC. Gestom potiahnutím oznamovacej lišty smerom nadol vyvoláme ponuku rozhranie USB, kde nastavíme Úložisko USB:

Vyberieme možnosť úložisko USB - Programujeme Android hru

Opätovným potiahnutím oznamovacej lišty smerom dole a stlačením tlačidla "USB pripojené" vyvoláme ponuku so zeleným robotom Android:

Zapneme úložisko USB - Programujeme Android hru

Po zapnutí úložisko sa objaví oranžový robot s hláškou, že úložisko USB je používané:

Úložisko USB je používané - Programujeme Android hru

Prejdeme do Eclipse a prevedieme export balíčka:

Postup exportovania balíčku - Programujeme Android hru

Potvrdíme, že exportujeme projektovú zložku wacky-chicken-android:

Potvrdíme projektovú zložku - Programujeme Android hru

Ak ešte nemáme, vytvoríme si úložisko pre náš kľúč:

Vytvoríme úložisko pre kľúč - Programujeme Android hru

Vytvoríme si svoj kľúč a do tohto úložiska ho uložíme:

Vytvoríme si svoj kľúč - Programujeme Android hru

Náš balík sa konečne podpíše, my už ho len uložíme. Úložisko USB máme zapnuté, takže rovno môžeme uložiť do zariadenia. Na fotografii nižšie ukladám do interného úložiska do zložky download, samozrejme možno uložiť inam. Klikneme na tlačidlo Save:

Balíček uložíme do zariadenia - Programujeme Android hru

Wacky chicken teraz máme v mobile alebo tablete, pod oranžovým robotom tlačidlom vypneme úložisko USB. Spustíme si nejakého správcu súborov a nájdeme náš nahraný balíček:

Spustíme správca súborov - Programujeme Android hru

Klikneme na neho a vyskočí otázka, kam sa má inštalovať. Potvrdíme voľbu "Let the system decide":

Necháme rozhodnúť systém - Programujeme Android hru

Potvrdíme posledná otázka, či nainštalovať:

inštaláciu potvrdíme - Programujeme Android hru

prebehlo:

Inštalácia prebehla OK - Programujeme Android hru

Spustíme, úspešne beží na mobilnom telefóne:

Úspešne beží na mobilnom telefóne - Programujeme Android hru

Druhý postup

V prípade, kedy má operačný systém k dispozícii vstavanej adb drivery pre naše zariadenie, popr. si ich sám dodatočne stiahne, je druhý postup inštalácie našej aplikácie do zariadenia prostý. Zariadenie máme USB káblom pripojené k PC, v Eclipse označíme projektovú Androidu zložku, stlačíme tlačidlo play (na obrázku zakrúžkované červenou), hra sa po stlačení tlačidla OK sama okamžite do zariadenia nainštaluje a spustí:

Drivery adb OK - Programujeme Android hru

Áno, ak sa v ponuke objaví náš mobilný telefón alebo tablet, sú adb drivery nainštalované. Problém nastáva, ak sa zobrazí ponuka bez nášho zariadenia. Riešenie spočíva v inštalácii adb ovládačov dodaných výrobcom, alternatívne môžeme použiť univerzálny adb ovládača. Výrobcovia niekedy tieto ovládače dodávajú spolu so zariadením, ukladajú ich na virtuálnu jednotku CD-ROM, niekedy je nutné túto jednotku zapnúť. Postup je rovnaký, ako sme si uvádzali vyššie pri zapínaní úložiska USB. Gestom potiahnutím oznamovacej lišty smerom nadol vyvoláme ponuku rozhranie USB, kde namiesto výberu úložisko USB vyberieme Integrovanú jednotku CD-ROM - odkazujem na obrázok vyššie. Po tomto zapnutí sa v prieskumníkovi na túto jednotku pozrieme:

Objaví sa virtuálna CD-ROM - Programujeme Android hru
Výrobca adb nedodal - Programujeme Android hru

A jé, žiadne ovládače tam nie sú, len nejaké pdf-ko s popisom architektúry USB konektorov. Demonštratívne si teda ukážeme, ako nainštalovať alternatívne adb drivery. Dôsledne varujem, pred použitím závadných (zavírených) adb ovládačov! Výber tých správnych je vašou zodpovednosťou, ak si nie ste istí, nerobte a používajte prvý postup.

Chceme tlačidlom play rovno z Eclipse nainštalovať a spustiť našej hru v zariadení. Po stlačení tlačidla sa zobrazí prázdna ponuka, adb teda nie sú v OS nainštalované:

V os nie sú adb - Programujeme Android hru

Ideme do správcu zariadení hľadať možnú príčinu, kde objavíme výkričník u nášho zariadenia:

chyba zariadenia - Programujeme Android hru

Klikneme na naše zariadenia pravým tlačidlom myši az ponuky vyberieme "Aktualizovať softvér ovládača ...":

Aktualizovať softvér ovládača - Programujeme Android hru

Pokračujeme zvolením druhej ponúkané možnosti "Vyhľadať ovládač v počítači" tu na obrázku "Browse my počítač pre softvér":

Vyhľadať v počítači - Programujeme Android hru

Prechádzaním súborové cesty vyberieme náš adb ovládač a dáme ďalšie:

Vyberieme súbory s adb ovládačom - Programujeme Android hru

Zobrazí sa varovná hláška, že Windows nemôže overiť vydavateľa softvér, len pre náš účel predvedenie postupu kľučkám na voľbu "Napriek tomu inštalovať":

Neznámy vydavateľ adb ovládače - Programujeme Android hru

Ovládač nie je digitálne podpísaný a je teda potenciálne nebezpečný. My si to tu takto ukazujeme iba pre ilustráciu postupu, pretože som digitálne podpísaný ovládač pre svoje zariadenie nezohnal. Vy použite originál adb ovládač od výrobcu alebo si nájdite digitálne podpísaný ovládač a ak tieto nie sú k dispozícii, využite prvý postup nahranie hry popísaný vyššie.

Po potvrdení inštalácie sa objaví správa o úspešnom vykonaní inštalácie - klikneme na zavrieť:

Inštalácia adb úspešná - Programujeme Android hru

Výkričník nám v správcovi zariadení zmizol a teraz sa naše zariadenie objavuje ako Android Device:

Adb v device manager OK - Programujeme Android hru

Znovu spustíme Eclipse, teraz sa po stlačení tlačidla play naše zariadenie v ponuke opäť objavuje a môžeme tak našej hru okamžite inštalovať a spustiť.

Na záver treba dodať, že tento druhý postup nahranie appky do zariadenia, je pre ladiace účely. Tým, že sa nemusíme starať o kľúč, bude appky do zariadenia nainštalovaná s debug kľúčom.

Finálny exportovaný apk balíček našej hry a ikony sú nižšie priložené k stiahnutiu.


 

Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 38x (1.72 MB)
Aplikácia je vrátane zdrojových kódov v jazyku Java

 

Predchádzajúci článok
Programujeme Android hru - Jednoduchá herné slučka
Všetky články v sekcii
Programujeme Android hru
Článok pre vás napísal Jaroslav Polívka
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje převážně jazykům JAVA a C++
Aktivity