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í pragmaticdevelopers. 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:
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:
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:
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:
Po zapnutí úložisko sa objaví oranžový robot s hláškou, že úložisko USB je používané:
Prejdeme do Eclipse a prevedieme export balíčka:
Potvrdíme, že exportujeme projektovú zložku wacky-chicken-android:
Ak ešte nemáme, vytvoríme si úložisko pre náš kľúč:
Vytvoríme si svoj kľúč a do tohto úložiska ho uložíme:
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:
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:
Klikneme na neho a vyskočí otázka, kam sa má inštalovať. Potvrdíme voľbu "Let the system decide":
Potvrdíme posledná otázka, či nainštalovať:
prebehlo:
Spustíme, úspešne beží na mobilnom telefóne:
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í:
Á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:
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é:
Ideme do správcu zariadení hľadať možnú príčinu, kde objavíme výkričník u nášho zariadenia:
Klikneme na naše zariadenia pravým tlačidlom myši az ponuky vyberieme "Aktualizovať softvér ovládača ...":
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":
Prechádzaním súborové cesty vyberieme náš adb ovládač a dáme ďalšie:
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ť":
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ť:
Výkričník nám v správcovi zariadení zmizol a teraz sa naše zariadenie objavuje ako Android Device:
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é 39x (1.72 MB)
Aplikácia je vrátane zdrojových kódov v jazyku Java