Výučba programovania mobilných aplikácií v App Inventore 2
Špecifické možnosti mobilných zariadení
- dotyková obrazovka,
- prehrávanie a záznam zvuku/videa/fotografií,
- senzor zrýchlenia,
- senzor orientácie,
- senzor polohy (GPS),
- rozpoznávanie a syntéza reči,
- bluetooth spojenie,
- NFC spojenie,
- skener čiarových kódov,
- prijímanie/odosielanie SMS správ,
- uskutočnenie telefonických hovorov,
- komunikácia na Twitteri,
- ukladanie/načítanie údajov na/z mobilného zariadenia, resp. z webu,
- ovládanie robotických modelov Lego Mindstorms NXT,
- spustenie ďalších aplikácií, atď.
Spoznávajme mobilné zariadenie pracujúce pod OS Android - pracovný list (2016)
a
online verzia.
Poznámka:
Tučným písmom sú uvedené možnosti mobilných
zariadení, ktoré sú pokryté nižšie uvedenými aplikáciami.
Zbierka mobilných aplikácií naprogramovaných v AI2
Pre výučbu programovania v AI2 odporúčame použiť učebný text Úvod do programovania mobilných aplikácií v AI2 a
zbierku projektov (s pracovnými súbormi, pracovnými listami a metodikami) uvedenú v
tabuľke:
- Kresliaci editor 1, 2, 3
- Hra postreh 1, 2
- Hra guľôčka
- Hovoriaci kompas
- Čítačka SMS
- Krokomer
- Ukáž miesto/trasu na mape
- Hľadaj miesto s uloženou GPS pozíciou
KRESLIACI EDITOR 2
Naprogramujte kresliaci editor, v ktorom sa na každom mieste dotyku zobrazí na plátne
kruh, pri ťahaní sa nakreslí na plátne čiara,
pri potrasení mobilným zariadením sa zmaže obrazovka.
ls_drawing_pad2.aia,
ls_drawing_pad2.apk
pracovný list
(2016)

Komponenty (Udalosti)
Canvas (Touched, Dragged), AccelerometerSensor (Shaking)
Metódy, vlastnosti, programové koncepty
Canvas (DrawCircle, DrawLine, Clear)
KRESLIACI EDITOR 3
Naprogramujte kresliaci editor, v ktorom sa na každom mieste dotyku zobrazí na plátne
kruh, pri ťahaní sa nakreslí na plátne čiara,
pri potrasení mobilným zariadením sa zmaže obrazovka. Ďalej doplňte tlačidlá
na zmenu farby pera, zmenu farby plátna na bielu, nastavenie plátna na aktuálnu
fotografiu získanú vstavaným fotoaparátom, uloženie aktuálneho
obsahu plátna do mobilného zariadenia a jeho opätovné vyvolanie, vloženie do
obrázka textovej poznámky s dátumom a časom, vyvolanie ukončenia behu aplikácie,
vytvorenie a nastavenie vlastnej ikony aplikácie.
ls_drawing_pad_icon.gif,
exit.gif,
new.gif,
photo.gif,
save.gif
ls_drawing_pad3.aia,
ls_drawing_pad3.apk
pracovný list
(2016),
riešenie (2016)

Komponenty (Udalosti)
Canvas (Touched, Dragged), AccelerometerSensor (Shaking),
Button (Click),
TextBox,
Camera (AfterPicture),
Clock, Screen (Initialize)
Metódy, vlastnosti, programové koncepty
Canvas (DrawCircle,
DrawLine, Clear, DrawText, Height, Width, PaintColor, LineWidth, BackgroundImage, SaveAs),
TextBox (Text),
Camera (TakePicture),
Clock (Now, FormatDateTime),
aritmetické operácie (x, -),
join,
close application
HRA POSTREH 1
Vytvorte hru Postreh, ktorá bude v pravidelných casových intervaloch zobrazovat cervenú loptu na náhodné
miesta obrazovky. Úlohou hráca je co najskôr sa dotknút tejto lopty. Po dotyku lopty sa ozve krátky zvuk.
ls_postreh_ikona.gif,
ts.flac
ls_hra_postreh1.aia,
ls_hra_postreh1.apk
metodika,
pracovný list

Komponenty (Udalosti)
Clock (Timer),
Ball (Touched)
Metódy, vlastnosti, programové koncepty
Ball (MoveTo),
Sound (Play),
generovanie náhodného čísla
HRA POSTREH 2
Vytvorte hru Postreh, ktorá bude v pravidelných časových intervaloch zobrazovať
červenú loptu na náhodné miesta obrazovky. Úlohou hráča je
čo najskôr sa dotknúť tejto lopty. Po dotyku lopty sa ozve krátky zvuk. Ďalej
doplňte registrovanie úspešných dotykov (po každom úspešnom
dotyku sa zaznamená a zobrazí počet úspešných dotykov a doplnenie
tlačidla na vynulovanie počtu úspešných dotykov, ukončenie hry po
10 úspešných dotykov so skrytím lopty a zobrazením času trvania
hry.
ls_hra_postreh2.aia,
ls_hra_postreh2.apk

Komponenty (Udalosti)
Clock (Timer),
Ball (Touched),
Screen (Initialize),
Label
Metódy, vlastnosti, programové koncepty
Ball (MoveTo, Visible),
Sound (Play),
Clock (Now, Duration, TimerEnabled),
Label (Text),
generovanie náhodného čísla,
globálna premenná (inicializácia, priradenie, inkrementácia),
aritmetické operácie (/, +), logické hodnoty true/false,
vlastná procedúra,
join,
if-then
HRA GUĽÔČKA
Vytvorte hru Guľôcka, v ktorej nakláňaním mobilného zariadenia ovládate
malú červenú guľku tak, aby sa čo najskôr dotkla troch zelených
kruhov a vyhla sa čiernemu kruhu predstavujúcemu jed. Pri dotyku guľky so zeleným
kruhom, kruh zmizne a získavate za neho 10 bodov, pri dotyku s okrajom plátna strácate
2 body a pri dotyku s jedom (čiernym kruhom) strácate 40 bodov. Hra koncí po dotknutí
sa troch zelených kruhov alebo pri získaí záporného skóre hry.
ls_ball_game1_icon.gif
ls_ball_game1.aia,
ls_ball_game1.apk

Komponenty (Udalosti)
Screen (Initialize),
Canvas,
Ball (CollidedWith),
Clock (Timer),
Sound,
OrientationSensor
Metódy, vlastnosti, programové koncepty
Clock (TimerEnabled),
Sound (Play, Source),
Label (Text),
Ball (X, Y, Radius, Visible, EdgeReached),
Canvas (DrawText, Clear, Width, Height),
OrientationSensor (Roll, Pitch),
generovanie náhodného čísla,
globálna premenná (inicializácia, priradenie, inkrementácia),
aritmetické operácie (/, +), logické hodnoty true/false,
vlastná procedúra,
join,
if-then
HOVORIACI KOMPAS
Vytvorte aplikáciu pre slabozrakých, či zaneprázdnených ľudí,
ktorá okrem zobrazenia azimutu a svetovej strany na kompase bude hovoriť aktuálnu svetovú
stranu syntetickým hlasom (4 hlavné a 4 vedľajšie svetové strany).
ls_kompas_ikona.gif,
kompas.gif
ls_kompas1.aia,
ls_kompas1.apk

Komponenty (Udalosti)
Canvas,
ImageSprite,
Label,
OrientationSensor (OrientationChanged),
TextToSpeech,
Metódy, vlastnosti, programové koncepty
Label (Text),
ImageSprite (Heading),
TextToSpeech (Speak),
vlastná procedúra,
údajový typ zoznam (vytvorenie, výber
prvku),
globálna a lokálna premenná (inicializácia, priradenie,
porovnanie),
funkcie modulo, floor, format as decimal number, aritmetické operácie (+, x ,/),
if-then
ČÍTAČKA SMS
Vytvorte aplikáciu pre slabozrakých, či zaneprázdnených ľudí,
ktorá prečíta nahlas prichádzajúcu SMS správu syntetickým
hlasom.
ls_sms_reader_icon.gif
ls_sms_reader.aia,
ls_sms_reader.apk

Komponenty (Udalosti)
Label,
Texting (MessageReceived),
TextToSpeech
Metódy, vlastnosti, programové koncepty
Label (Text),
TextToSpeech (Speak)
KROKOMER
Vytvorte mobilnú aplikáciu, ktorá bude merať počet prejdených krokov
(resp. urobených drepov, či pohybov rúk).
ls_krokomer_ikona.gif,
t2.mp3
ls_krokomer.aia,
ls_krokomer.apk

Komponenty (Udalosti)
Label, Button (Click),
Slider (PositionChanged),
Screen (Initialize),
Accelerometer (AccelerationChanged),
Clock,
Sound,
File
Metódy, vlastnosti, programové koncepty
Label (Text),
Clock (Now, GetMillis),
Sound (Play),
File (AppendToFile, Delete),
vlastná procedúra a funkcia,
globálna premenná (inicializácia, priradenie, porovnanie),
zložená podmienka (and),
aritmetické operácie (+, ^), sqrt,
join,
if-then
UKÁŽ MIESTO/TRASU NA MAPE
Vytvorte mobilnú aplikáciu, ktorá zo zoznamu adries umožní vybrať
adresu/adresy a ukázať miesto/trasu medzi miestami pomocou aplikácie Google maps.
ls_ukaz_na_mape_ikona.gif
ls_ukaz_na_mape.aia,
ls_ukaz_na_mape.apk

Komponenty (Udalosti)
Screen (Initialize),
Label,
ListPicker (BeforePicking, AfterPicking),
Button (Click),
ActivityStarter
Metódy, vlastnosti, programové koncepty
Label (Text),
ActivityStarter (StartActivity, Action, DataUri),
globálna premenná (priradenie),
join
HĽADAJ MIESTO S ULOŽENOU GPS POZÍCIOU
Vytvorte mobilnú aplikáciu, ktorá umožní uložiť GPS pozíciu
miesta a neskôr sa na to miesto vrátiť na základe vypočítania
vzdialenosti a smeru od aktuálnej GPS pozície k uloženej GPS pozícii.
ls_cache_icon.gif,
a.mid,
a1.mid
ls_cache.aia,
ls_cache.apk

Komponenty (Udalosti)
Screen (Initialize),
Canvas,
Label,
Button (Click),
TextBox,
LocationSensor (LocationChanged),
OrientationSensor,
Clock (Timer),
TinyDB,
Sound
Metódy, vlastnosti, programové koncepty
Canvas (Clear, PaintColor, DrawCircle, DrawLine),
Label (Text, TextColor),
TextBox (Text),
Sound (Play, Source),
LocationSensor (Latitude, Longitude, Accuracy, HasLongitudeLatitude),
OrientationSensor (Azimuth),
TinyDB (GetValue, StoreValue),
globálna a lokálna premenná (inicializácia, priradenie),
vlastná procedúra, funkcie sin, cos, atan2, sqrt, convert degrees to radians,
aritmetické operácie (+,-,x),
join,
if-then, if-then-else
Metódy, vlastnosti, programové koncepty
Metódy, vlastnosti, programové koncepty
Využitie komponentov v uvedených aplikáciách

Použité a odporúčané nformačné zdroje
- WOLBER, David, ABELSON, Harold, FRIEDMAN, Mark. Democratizing Computing with App Inventor. In: ACM
SIGMOBILE Mobile Computing and Communications Review archive. Volume 18, Issue 4, October 2014. ACM,
New York, NY, 2014, p. 53-58. DOI=http://doi.acm.org/10.1145/2721914.2721935
- WOLBER, David. The App Inventor Course-in-a-Box. [online]. [cit. 2015-02-09]. Dostupné na:
http://www.appinventor.org/content/CourseInABox/Intro/courseinabox
- WOLBER, David, ABELSON, Hal, SPERTUS, Ellen, LOONEY, Liz. App Inventor 2: Create your own Android
Apps. O'Reilly Media, 2014. ISBN 978-1491906842
- TOMCSÁNYOVÁ, Monika. Metodické materiály a aplikácie pre Android
vytvorené v Appinventore. [online].[cit. 2015-02-09]. Dostupné na: http://edi.fmph.uniba.sk/~tomcsanyiova/
- GALBAVÁ, Ľudmila. Využitie MIT App Inventora v PC a na tabletoch (video).
[online].[cit. 2015-02-09]. Dostupné na:
http://youtu.be/ifYJq00GKsw
- Vývojové prostredie MIT App Inventor 2. [online]. Dostupné na: http://ai2.appinventor.mit.edu/
- App Inventor Community Gallery. [online]. Dostupné na: http://gallery.appinventor.mit.edu/
- Tutorials for App Inventor 2. [online]. Dostupné na: http://explore.appinventor.mit.edu/ai2/tutorials
- ŠNAJDER, Ľubomír, DANESHJOOVÁ, Danka, GONDOVÁ Valéria. Informatické
pracovné listy s bádateľskými aktivitami. 1. vydanie. Košice
: Ústav Experimentálnej fyziky SAV, 2012. 66 s. ISBN 9788097077976. [online]. Dostupné
na:
http://susy.saske.sk/rok-2012/iplba/
- Moodle kurz projektu Výskum efektívnosti metód inovácie výučby
informatiky, fyziky a informatiky. [online]. Dostupné na:
http://skoly.upjs.sk/aktivity/mod/folder/view.php?id=959
- ŠNAJDER, Ľubomír. Výučba programovania mobilných aplikácií
v App Inventor 2. [online]. Dostupné na:
http://ics.upjs.sk/~snajder/ai2/
(c)2014-2016, Ľubomír Šnajder, UPJŠ v Košiciach, Prírodovedecká
fakulta, Ústav informatiky, Oddelenie didaktiky infomatiky a podporných technológií