App Inventor - klikací programování pro Android

26. 7. 2011 15:11 (aktualizováno) Jan Kulhánek

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:

  • Google: Nexus One
  • Motorola: Droid, Droid X, Droid Incredible
  • T-Mobile: G1
  • HTC: Incredible, Hero, Desire, …

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…

Sdílet