Asi před měsícem jsem si dal žádost o „vstupenku“ do Google App Invontro a dřív než mi došla, projekt se otevřel pro veřejnost a tak jsem měl možnost si klikací vytváření aplikací vyzkoušet. Musím přiznat, že mě to celé zaujalo, připadá mi to jako výborná škola programování, případně jako bezva hra. Prostředí je celkem intuitivní, při sestavování programu jsem si připadal jako dítě skládající puzzle a navíc výsledné aplikace v telefonu skutečně fungují. Jsou sice trochu robustní, jsme omezeni nabídkou prostředí App Inventoru, ale proč si nepohrát?
1. Nastavení telefonu
Oficiálně jsou podporované následující telefony:
V Menu / Aplikace povolíme Neznámé zdroje, v submenu Vývoj pak Ladění USB. V jednom návodu na netu doporučují stáhnout z Marketu AppInventor Toggle, jde o placenou aplikaci (za dolar) a podle mě není nutná.
2. Instalace v Ubuntu
Není třeba stahovat Android SDK, vše potřebné je v balíku AppInventor Setup Installer, není třeba se speciálně registrovat, pokud máte účet u Googlu. Dostupný je ke stažení kromě archivu pro ruční instalaci balíček pro Debian / Ubuntu. Vše by mělo být nakopírované v /usr/google/appinventor/.
Abych nezapomněl, je třeba mít funkční Javu. I když je oficiálně podporovaná pouze Sun-Java, vše mi funguje i na OpenJDK.
Teď ještě nastavit udev pro usb připojení telefonu k počítači: V terminálu vytvoříme nový soubor s pravidly, nastavit práva, vytvořit miniaturní skript pro bezproblémovou inicializaci a nakopírovat ho do inti.d pro autojmatické spuštění při startu.
sudo nano /etc/udev/rules.d/51-android.rule
Do prázdného souboru vložte:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ff9", MODE="0666
idProduct se bude měnit podle značky a modelu telefonu, výše uvedený je pro Nexus One, pro mé HTC Desire HD je to 0ca2, vaše najdete ve výstupu příkazu lsusb.
Teď vytvoříme skript pro inicializaci spojení mezi počítačem a telefonem. Některé návody tento krok neuvádějí, možná to bude někomu fungovat i bez něj:
sudo nano /etc/init.d/android-syncservice
Do prázdného souboru vložíme následující kód:
#!/bin/sh
# Solve the problme of „Unable to get SyncService for device“ while connecting to Android Phone under Blocks Editor of App Inventor
cd /usr/google/appinventor/commands-for-Appinventor/
./adb kill-server
./adb devices
cd ~
exit 0
sudo chmod +x /etc/init.d/android-syncservice
update-rc.d android-syncservice default
3. Prní kroky
Nemá cenu popisovat prostředí aplikace, prostě si ve webovém prohlížeči spusťte App Inventor a uvidíte sami.Založte si nový projekt, stejně se pak bude jmenovat i aplikace v telefonu, pokud jí tam nakopírujete.
V základním IDE editoru si připravíte interface (jak jinak) a tlačítkem Open Blocks Editor spustíte Java aplikaci, kde formou „skládání puzzle“ přiřadíte ke komponentám vaší aplikace akce.
Hned po startu editoru si můžete vybrat, zda používat pro testování přímo váš telefon nebo emulátor, který je součástí App Inventoru. Vyzkoušel jsem oboje a emulátor bych doporučil jen v případě, že nemůžeme z nějakého důvodu telefon připojit. Pak zvolené zařízení připojíme tlačítkem Connect to device.
Trochu mě rozčiluje, že pokaždé, když otevírám Blocks editor, tak se aplikace stahuje z netu. Je to trochu krkolomní a zdržuje to. Možná to jde nějak nastavit, aby se startovala lokálně, ale to se mi prostě nepodařilo.
4. Kde se učit
Nejlepší je podle mě projít si a vyzkoušet několik tutoriálů, začít můžeme od té nejjednodušší aplikace. Nabídka základních tutorialů je docela pestrá, docela ucelené stránky s návody a tutoriály jsou na www.appinventor.org. Pokročilejší funkcí je komponenta Activity Starter pro komunikace s jinými aplikacemi v mobilu – foťák, browser, mapy, youtube player… – popis zde, zajímavé jsou návody na vytvoření TinyWebDB, což slouží ke komunikaci aplikace s webovými službami, nebo Twitter aplikace. Na webu je dostupných řada open source aplikací, vytvořených v App Inventoru, které si můžeme v editoru prohlédnout i upravit, z toho se dá asi hodně naučit.
5. Potenciální plevel
… a zároveň slovo na konec: Celý projekt mi připadá zajímavý, ale bojím se „zaplevelení“ Marketu nekvalitními aplikacemi, které budou vytvářet lidé bez znalosti programování.Nemůžu nevzpomenout na začátky internetu v Čechách, kdy řada samouků vyrábělo webové stránky v Microsoft FrontPage (většinou to fungovalo, ale často to byla hrůza). Tak uvidíme…
Myslím, že aplikace pro streaming videa v appinventory napsat přímo nepůjde, dočetl jsem se, že android nemá zatím stream ve svém frameworku. Pokud by ale existovala nějaká knihovna nebo jiná aplikace, nahraná v telefonu, pak přes activity starter by mělo být možné s tou aplikací komunikovat nebo jí alespoň pouštět s nějakým parametrem.
Mimochodem, na marketu je placený yxplayer neon (dříve yxflash), který by si měl se streamy poradit.
Odstavec 5. bohužel podle mě popisuje to, co se stane. Už teď je problém v tom plevelu na marketu vybrat kvalitní aplikaci a až se tohoto chytne "frontpage" masa, bude ještě hůř. Z frontpage sice lezla velká zvěrstva (i díky tomu, která skupina tvůrců s ním pracovala), ale výhoda byla, že na většinu stránek člověk nenarazil. Ovšem při zaplevelení marketu se tím budeme muset probírat všichni. Co jsem v AppInventoru chtěl udělat, to mi nešlo. Bylo by potřeba, aby člověk mohl napsat i kus kódu, ideální kompromis mi přišel třeba MS Access, základní věci klikací, ale člověk mohl dopsat co chtěl a dalo se v tom udělat dost. Zároveň to nebylo až tak easy, aby se do toho hrnul kdokoliv, kdo umí posunovat myš po stole. Ne opravdu nechci "BFUckám" upřít možnost si něco uplácat, ale pokud se znehodnotí market tunou kravin, doplatí na to celý Android. Studentíci možná mají čas se marketem prokousávat, ale rozhodující masu to velmi brzy přestane bavit.
V FAQ AppInventoru se píše, že uploadovat aplikace na Market zatím není možné (asi kvůli velikosti apk, která je pro Market dost omezená, s tím mají problémy tvůrci her). To se ale brzy změní...
Google by to podle mě vyřešil elegantně tak, že by otevřel AppInventorMarket, kde může sdílet každý klikáč. Systémovějším řešením by bylo zlepšit vyhledávání na Marketu (filtry) a každá aplikace z AppInventoru by byla označená tímto výrazem.
Dopisováním Java kédu by se možnosti hodně zlepšily.
BubakB: Ozvi sa mi potom prosím na mail majso zavináč centrum bodka sk ak by si to zacal programovat...
jarjav: Na markete samozrejme existuju aplikacie co stream dokážu prehrávať chcel som aby tá aplikácia obsahovala len tlačítko play/pause po prípade na začiatku ešte výber kvality.
Jan Kulhánek pracuje jako psycholog a psychoterapeut, prací s počítači si přivydělával hlavně při studijích. Do světa Linuxu začal více pronikat asi před třemi lety (2007), kdy si nainstaloval Ubuntu jako druhý systém. U této distribuce už zůstal i když rád experimentuje a občas zkouší různé novinky. Je „běžný“ uživatel desktopu, od kterého chce, aby byl user-friendly pro každodenní použití. Občas si skládá muziku, dělá trochu grafiku hlavně pro různé webové projektíky, stříhá video. Počítače jsou dlouhodobým koníčkem.
Přečteno 30 089×
Přečteno 26 150×
Přečteno 25 910×
Přečteno 24 964×
Přečteno 23 854×