34
TALLINNA ÜLIKOOL Haapsalu Kolledž Rakndusinformaatika õppekava Keijo Koort ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA INFO KUVAMISEKS KASUTADES MIT APP INVENTOR 2 VEEBIRAKENDUST Diplomitöö Juhendaja: Priidu Paomets Haapsalu 2017

ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

TALLINNA ÜLIKOOL

Haapsalu Kolledž

Rakndusinformaatika õppekava

Keijo Koort

ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL

LEITAVA INFO KUVAMISEKS KASUTADES MIT APP

INVENTOR 2 VEEBIRAKENDUST

Diplomitöö

Juhendaja: Priidu Paomets

Haapsalu 2017

Page 2: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

TALLINNA ÜLIKOOL

Haapsalu Kolledž Osakond: Rakendusinformaatika

Töö pealkiri: Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks

kasutades MIT App Inventor 2 veebirakendust

Teadusvaldkond: rakendusinformaatika - arvutiteadused

Uurimuse tasand: diplomitöö Kuu ja aasta: juuni, 2017 Lehekülgede arv: 32

Referaat:

Käesoleva diplomitöö eesmärgiks oli uurida plokkidel põhinevat visuaalset

programmeerimist ja selle abil Android operatsioonisüsteemil töötava rakenduse loomine

kohalikule omavalitsusele Abja jalgratta- ja matkarajal vaatamisväärsuste kohta

lisainformatsiooni jagamiseks. Töös kirjeldatakse valminud rakenduses kasutatud

visuaalseid plokke, nende toimimist ja vajalikkust. Eesmärgi täitmiseks tutvustati

visuaalse programmeerimise veebirakendust MIT App Inventor 2 ja teostati eesmärgiks

seatud rakenduse loomine.

Diplomitöö koosneb kolmest peatükist. Esimeses peatükis räägitakse visuaalsest

programmeerimisest, kirjeldatakse MIT App Inventor 2. Teises peatükis tutvustatakse töö

praktilise osana valminud rakenduse loomist Abja jalgratta- ja matkarajal olevate

vaatamisväärsuste kuvamiseks. Töö viimases osas selgitatakse, kuidas rakendust testiti ja

milline näeb välja rakenduse edasine kasutamine. Diplomitöö eesmärk sai täidetud

valminud rakenduse tegemisega.

Võtmesõnad: Androidi rakendus, MIT App Inventor 2, visuaalne programmeerimine

Säilitamise koht:

TLÜ Haapsalu Kolledži raamatukogu

Töö autor: Keijo Koort allkiri:

Kaitsmisele lubatud:

Juhendaja: Priidu Paomets allkiri:

Page 3: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

TALLINN UNIVERSITY

Haapsalu College Department: Applied Computer Science

Title:

Creating an Android Application to Display Local Municipality’s Hiking Trail

Information Using the MIT App Inventor 2 Web Application.

Science area: Computer Sciences

Level: Diploma Thesis Year and month: June, 2017 Number of pages: 32

Summary:

The aim of this thesis is to study block based visual programming language and with the

help of it to create an application that runs on the Android operating system in different

devices. This thesis describes the visual blocks that were used in a completed application,

their function and necessity. In achieving the aim, the visual programming web application

MIT App Inventor 2 was examined. In addition, the aimed application was created.

The thesis consists of three parts. The first chapter is about visual programming languages,

description of MIT App Inventor 2 is presented. The second chapter introduces an

application as a practical part of the thesis. The application displays information about

Abja’s hiking trail. The last chapter explains how this application was tested and in what

way the application finds a further use.

Key words: Visual Programming Language, MIT App Inventor 2, Android Application

Deposition

The Library of Haapsalu College of Tallinn University

Author of the thesis: Keijo Koort signature:

Approved for dissertation:

Academic advisor: Priidu Paomets signature:

Page 4: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 2

Keijo Koort

SISUKORD

SISSEJUHATUS ................................................................................................................... 3

1. VISUAALNE PROGRAMMEERIMINE ..................................................................... 5

1.1. Scratch .................................................................................................................... 6

1.2. Blockly .................................................................................................................... 7

1.3. MIT App Inventor 2 .............................................................................................. 10

1.3.1. Disainivaate lühikirjeldus .............................................................................. 11

1.3.2. Plokivaate lühikirjeldus ................................................................................. 12

2. ABJA MATKARAJA RAKENDUSE LOOMINE ..................................................... 16

2.1. Graafiline disain .................................................................................................... 17

2.2. Asukoha määramiseks kasutatud plokkide kogumid ............................................ 18

2.2.1. GPS’i kasutamine asukoha tuvastamisel ....................................................... 18

2.2.2. QR koodi kasutamine asukoha tuvastamisel ................................................. 20

2.2.3. Kasutaja juhatamine tagasi Abja Spordi- ja Tervisekeskusesse .................... 21

2.3. Veebis kuvatav informatsioon ja selle haldamine ................................................ 22

3. RAKENDUSE TESTIMINE JA KASUTAMINE ...................................................... 23

3.1. Rakenduse testimine sisetingimustes .................................................................... 23

3.2. Rakenduse testimine välitingimustes .................................................................... 25

3.3. Rakenduse kasutamine .......................................................................................... 26

KOKKUVÕTE .................................................................................................................... 27

ALLIKAD ........................................................................................................................... 29

LISA. VALMINUD RAKENDUSE TÖÖVOOG

Page 5: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 3

Keijo Koort

SISSEJUHATUS

2016. aasta viimasel veerandil müüdi üle maailma pea pool miljonit nutiseadet. Nendest

81.7% moodustasid Android operatsioonisüsteemiga seadmed (Gartner, 2017). Eesti

kohalikul jaeturul seevastu müüdi GfK statistika andmetel 2017. aasta märtsis 27 400

mobiiltelefoni (Elisa, 2017). Seega tänapäevases tehniliselt kiiresti arenevas maailmas jääb

inimeste füüsiline vorm mugavuste meelevalda ning unustatakse, et liikumine on meie üks

esmastest vajadustest. Selleks, et meie keha ja vaim terved püsiksid, peame olema füüsiliselt

aktiivsed. (Viigimäe, 2008)

Järjest enam on hakatud tähelepanu pöörama erinevatele võimalustele muuta liikumine

inimestele atraktiivsemaks. Abja-Paluoja kohalik omavalitsus on sellega algust teinud juba

aastal 2009, kui maasse sai Abja Spordi- ja Tervisekeskuse nurgakivi (Raidsalu, 2009).

Tänaseks on valminud täismõõtmetes sisespordisaal, ujula ning treeningsaalid. Peagi tehtava

jalgratta- ja matkaraja populariseerimiseks on kohalik omavalitsus käinud välja idee

ühildada liikumine, nutiseadmed, Abja vaatamisväärsused ja ajalugu üheks tervikuks.

Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja

luua selle abil Abja Spordi- ja Tervisekeskusele rakendus, mis töötab Android

operatsioonisüsteemil erinevates seadmetes. Töös kirjeldan valminud rakenduses kasutatud

visuaalseid plokke, nende toimimist ja vajalikkust. Sihiks on teha rakendus, mida kasutades

on võimalik peagi valmival jalgratta- ja matkarajal saada lisainformatsiooni teel olevate

vaatamisväärsuste kohta. Valminud rakendus on kasulik neile, kes laenutavad Abja Spordi-

ja Tervisekeskusest jalgratta või liiguvad jalgsi ning lähevad tutvuma ajalooliste paikadega

Abja-Paluojal ja selle ümbruses. Tellijapoolseks sooviks on, et rakendus oleks lihtsalt

kasutatav, kuvatav informatsioon vähese vaevaga hallatav, võimaldaks näidata pilte ning

vajadusel kuulata lisainformatsiooni.

Oma töö esimeses peatükis annan lühiülevaate visuaalsest programmeerimisest ja sellega

seotud laialt levinud tarkvaradest Scratch ja Blockly. Lisaks teen ülevaate MIT App

Inventori ajaloost ja kasutamisest. Teises peatükis põhjendan praktilise töö teostamiseks

Page 6: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 4

Keijo Koort

kasutatud veebirakenduse valikut. Lisaks kirjeldan Abja jalgratta- ja matkarajal asuvate

vaatamisväärsuste kohta informatsiooni jagava rakenduse loomiseks vajalikke plokke ning

nende kasutamist. Kolmandas peatükis testin valminud rakenduse töötamist erinevatel

tingimustel ja seadmetes. Selgitan välja valminud rakenduse puudused ja täiendamise

vajaduse.

Page 7: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 5

Keijo Koort

1. VISUAALNE PROGRAMMEERIMINE

Visuaalne programmeerimine (VPL - Visual programming languages) lubab kasutajal luua

rakendusi visuaalsete elementide abil. Algsemad visuaalsed programmeerimised toimisid

lihtsate kastide ja noolte põhjal. (Dehouck, 2015)

Praeguses tehnoloogiast küllastunud igapäevas kasutatakse programmeerimise algõppes

tihti kõige lihtsamat visuaalset programmeerimist, pliiatsit ja paberit. Selline paberile

kirjapanemine aitab õpilastel sageli paremini näha ja tekitada arusaama, kuidas töötab

programmi juhitud robot - milliseid käske on võimalik talle jagada ning mis järjekorras need

peaksid toimuma. (Code.org, s.a.)

Tänu visuaalsele programmeerimisele on võimalik koolinoortes tekitada huvi antud teema

vastu, sest range käskudena koodikirjutamine võib olla õpilaste jaoks tihti hirmutav.

Koodikirjutamine ning käskude õppimine tekstina on aeganõudev ja täpne töö. Seevastu

visuaalselt klotse tõstes on võimalik väga kiiresti aru saada, kas soovitud idee töötab või

mitte. Selle lihtsuse tõttu kasutavad paljud noortele mõeldud robootikakomplektid oma

programmeerimisel visuaalset võimalust. (Lego Mindstorms, s.a.)

Joonis 1. Lihsam näide visuaalsest programmeerimisest (Flowgorithm, s.a.)

Page 8: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 6

Keijo Koort

Tänaseks on arendatud visuaalse programmeerimise värviliste plokkide juurde ka

niinimetatud graafiliste ja ikooniliste elementidega keeled. Nende keelte loomise põhjuseks

on tuua programmeerimine inimestele lähemale ja teha rakenduste loomine

kasutajasõbralikumaks. Uudse visuaalse programmeerimise peamisteks elementideks on

plokid, mis sobituvad kokku nagu pusletükid, andes kasutajale vihjeid nii tükkide

omavahelise kokkusobivuse kui ka kasutamise kohta. Oluline on, et soovija saab luua

töötavaid programme ja teha valmisrakendusi VPL plokke omavahel sidudes. Nende

plokkide taga toimub rohkem, kui kasutaja näeb. (Dehouck, 2015) Üheks enim levinud VPL

keeleks võib pidada Scratch’i. Seda seetõttu, et antud veebirakendust ja selle plokke on

tõlgitud paljudesse keeltesse, sealhulgas ka eesti keelde. (Scratch, s.a.) Scratch’i VPL

visuaalset pilti ja keelt kasutab ka Blockly (Dehouck, 2015).

1.1. Scratch

Scratchi puhul on tegemist Massachusettsi Tehnoloogiainstituudi poolt 2005. aastal

ametlikult ilmavalgust näinud visuaalse programmeerimise tarkvaraga. Tegemist on

keskkonnaga, mis võimaldab luua interaktiivseid ja animeeritud lugusid ning mänge.

Peamiseks sihtgrupiks peetakse 8-16aastaseid õpilasi. Scratchi peamiseks eesmärgiks on

tutvustada programmeerimist neile, kellel puuduvad igasugused kogemused programmide

kirjutamises. (Maloney, Resnick, Rusk, Silverma & Eastmond, 2010)

Scratchi kood kujuneb koodi plokke omavahel liites. Plokkide lisamiseks tuleb neid hiirega

paika lohistada, kusjuures nende kuju annab mõista omavahelise sobivuse. Süsteem ei lase

plokke omavahel valesti kokku panna. Seetõttu ei anna Scratch ka veateateid ning kogu

loodav projekt on pidevas töös ja iga muudatus koheselt Scratchi laval, kus juhitakse

kahemõõtmelisi tegelasi või pilte, näha. (Maloney, Resnick, Rusk, Silverma & Eastmond,

2010)

Page 9: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 7

Keijo Koort

Oluline on, et Scratchiga programmeerimisel kasutatakse sündmuspõhist

programmeerimist, ehk iga koodiosa on seotud kindla tegelease või pildiga mõjutades tolle

tegevust. Selliseid graafilisi objekte nimetatakse Scratchis spraitideks. Igal spraidil võib olla

mitu välimust ehk kostüümi. (Vilipõld, Antoi & Mironova, 2012)

1.2. Blockly

Blockly arendus algas 2011. aastal ning esimene avalik demontsratsioon toimus 2012. aasta

maikuus. Põhilised arendajad on Neil Fraser, Ellen Spertus, Mark Friedman ja Quynh

Neutron. (Google Developers, 2014)

Blockly kasutab Scratchile visuaalselt sarnast keelt, kuid on mõeldud pigem neile, kes on

juba veidi kogenumad. Kui Scratch sisaldab endas visuaalset koodikirjutamist,

interpretaatorit ja kasutajaliidest siis Blocklyl viimane puudub. Näidisrakenduses

kasutatakse küll puuduvat osa, kuid tegelikult ei ole võimalik kohe programmeerima hakata.

Selleks on vaja eraldi kasutajaliidest, mida on võimalik ise luua või kasutada selleks juba

loodud liideseid nagu näiteks MIT App Inventor 2, Code.org, Microbit ja OzoBlockly.

(Marks, 2014) (Blockly, s.a. a)

Joonis 2. Scratchi lava ja töölaud plokkidega. (Progetiiger, s.a.)

Page 10: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 8

Keijo Koort

MIT App Inventor 2 puhul kasutatakse Blockly visuaalset keelt, mis töötab JavaScipt’i

koodil, vajadusel on võimalik kood tõlkida lisaks teistesse keeltesse, nagu näiteks Python,

LUA, Dart ja PHP. Blockly eeliseks on see, et puudub töötamiseks serveri toe vajadus, sest

see toimib täielikult kasutaja arvutis. (Blockly, s.a. a)

Blockly’ga tehtud rakenduse tugevuseks on kood, mida saab viia üle tekstil põhinevale

programmeerimisele. Lisaks on Blockly avatud lähtekoodiga ning sellele on võimalik ise

plokke juurde tekitada. (Blockly, s.a. b)

Blockly’s on plokid jagatud erinevatesse kategooriatesse, igal oma põhivärv ja omadused.

Lähtudes vajadusest on kasutajal võimalus ise valida endale sobilikud plokid. Tänu sellele

ei pea rakenduse looja teadma kõiki käske - tema jaoks on oluline ekraanil visuaalselt näha.

Blockly puhul kasutatakse nii vertikaalset kui ka horisontaalset programmeerimist.

Vertikaalne programmeerimine on selline, kus koodi plokid ja töötav kood jooksevad ülevalt

alla, horisontaalse puhul võib liikuda kood vajadusel ka küljele. (Blockly, s.a. a)

Joonis 3. Blockly näidis programm (Blockly, s.a. a)

Page 11: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 9

Keijo Koort

Sellise horisontaalse koodikirjutamise ainus eelis vertikaalse ees on lihtsam ja arusaadavam

ikoonide keel. Horisontaalse puhul kirjeldataksegi ploki kasutamist ilma tekstita ehk ainult

ikooniga. Lisaks on horisontaalsetel ikoonidel põhinevate plokkide kasutamine väiksematel

ekraanidel kergemini jälgitav. (Scratch Blocks, 2017)

Joonis 4. Horisontaalsed ja vertikaalsed plokid (Scratch Blocks, 2017)

Page 12: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 10

Keijo Koort

1.3. MIT App Inventor 2

MIT App Inventor on visuaalse programmeerimise ja rakenduste loomise tarkvara Android

operatsioonisüsteemil töötavatele seadmetele. Antud rakendus vahetab välja keerulise

koodikirjutamise visuaalselt lihtsama vastu, kus programmeerimine toimub hiirega koodi

plokke lohistades ja kokku liites, tagades, et ka need, kes pole varem koodikirjutamisega

kokku puutunud, suudavad luua täiesti töötava nutirakenduse. Tarkvara esmane versioon

App Inventor valmis 2009. aastal Mark Friedman ja Massachusettsi Tehnoloogiainstituudi

(MIT) õppejõu Hal Abelsoni koostöös. 2010. aasta maikuust kuni detsembrini sai kasutada

App Inventorit ainult läbi kutsete. 15. detsembril 2010. aastal tehti antud veebirakendus

avalikult kõigile kättesaadavaks. 2011. aasta teises pooles andis Google, kes oli algselt koodi

omanik, veebirakenduse õigused „MIT Center for Mobile Learning“ kätte. (The App

Inventor Team, s.a.)

2013. aastal loodi MIT App Inventor 2 (Clark, 2013). Lisaks sellele, et MIT App Inventor 2

on lihtsat programmeerimist võimaldav rakendus, on selle puhul tegemist ka

veebirakendusega. See tähendab seda, et lihtsama äpi tegemise tarvis ei ole vaja enam

arvutisse laadida tarkvara, vaid kogu töö saab tehtud läbi veebilehitseja. Sealjuures võib

suure plussina välja tuua, et loodud tarkvara on alati internetist kättesaadav ja muutmisteks

valmis. (The App Inventor Team, s.a.)

MIT App Inventor 2 arendajate ülesanne on teha rakenduste loomine kõigile kättesaadavaks,

et praegustest tarbijatest saaksid soovi korral ise hoopis loojad. Suuremate võimaluste

tekitamiseks tegeletakse järjepidevalt veebirakenduse edasiarendamisega. Arenduse

põhilisteks eesmärkideks on viia programmeerimine massidesse ning luua püsiv ja

jätkusuutlik tööriist infotehnoloogiamaailmas. (The App Inventor Team, s.a.)

2015. aastaks oli kasutajate hulk kasvanud pea kolme miljonini, esindades 195 riiki. Nende

kahe aasta jooksul on antud visuaalset programmeerimist kasutades loodud Android

operatsioonisüsteemile ligi seitse miljonit rakendust. (The App Inventor Team, s.a.)

Page 13: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 11

Keijo Koort

MIT App Inventor 2 on leitav veebiaadressilt http://ai2.appinventor.mit.edu. Uue rakenduse

loomiseks tuleb visuaalset programmeerimist võimaldavasse veebirakendusse siseneda

Google’i kontot kasutades. Sisenemisel küsitakse luba siduda MIT App Inventor Google’i

kontoga. Pärast nõusolekut on võimalik alustada soovitud projekti tegemisega.

1.3.1. Disainivaate lühikirjeldus

Alguses kujundab kasutaja loodava rakenduse kuvatava osa disainivaates ning lisab sinna

juurde tarvilikud komponendid, mida pärast plokkide juures vajatakse. Komponentide

lisamine toimub lohistamise teel ning hiljem on võimalik neid muuta ja eemaldada. (App

Inventor, s.a. a)

Oluline on, et disainivaates luuakse rakenduse välimus ja lisatakse tarvilikud komponendid,

mida kasutaja otseselt ei näe, kuid vajab, et rakendada seadme andureid, veebiliidest ja

ühenduvusi. Ekraani vasakul olevast menüüst tuleb soovitud moodulid tõsta ekraani keskel

olevale virtuaalsele ekraanile, pärast mida tekib lisatu paremale komponentide nimekirja.

Valides nimekirjast mooduli tekib lehekülje parempoolsemasse tulpa mooduli atribuutide

valik. Rakenduse kasutajaliidesele paigutatud nähtavaid mooduleid on võimalik joondada

horisontaalse, vertikaalse või tabeli laotuse järgi.

Disainivaate komponendid jagunevad järgmiselt:

kasutajaliides;

laotuse komponendid;

meedia komponendid;

joonistused ja animatsioonid;

andurid;

kontaktid;

andmetalletuskomponendid;

ühenduvused;

Page 14: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 12

Keijo Koort

Lego Mindstorms komponendid;

eksperimentaalsed komponendid;

laiendused. (MIT App Inventor 2, s.a.)

Abja Spordi- ja Tervisekeskuse jaoks valmiva rakenduse loomiseks kasutasin tekstikaste,

silte, nuppe, erinevaid laotuse valikuid, asukoha ja koodilugemise moodulit, kella,

suunamoodulit ja veebiliidest.

1.3.2. Plokivaate lühikirjeldus

Plokivaates saab kasutada ainult neid programmeerimisplokke, mis on tulnud kaasa

disainivaatest lisatud komponentidega. Lisaks komponentidega kaasa tulnud plokkidele on

võimalik opereerida rakenduses olevate peamiste plokkidega. Kõik plokid jagunevad

järgmiselt:

Joonis 5. Disaineri vaate ekraanikuva (MIT App Inventor 2, s.a.)

Page 15: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 13

Keijo Koort

juhtplokk;

loogilised operaatorid;

matemaatilised tehted;

tekstilised plokid;

nimekirjad;

värvid;

muutujaplokk;

protseduuriplokid. (MIT App Inventor 2, s.a.)

Control ehk juhtplokk on rakenduses kollakat tooni, sisaldades programmeerimises väga

levinud „if“ käsklustega plokke ning ekraanivahetusi. Peale selle on igale rakendusele

lisatud aktiivmoodulil vähemalt üks juhtplokk, mis hoiab töös paigaldatud komponenti.

Näiteks saab kirjeldada, mida teeb rakendusele lisatud nupp kui seda vajutada, hoida all või

üle nupu liikuda. Enamasti saab viia juhtplokkide sisse ülejäänud plokid, välja arvatud

protseduurilised, mis toimivad sarnaselt juhtplokkidega ehk sisaldavad endas plokkide

kogumit.

Logic ehk loogilised operaatorid on helerohelised ja sisaldavad endas loogikaväravaid -

true, false, and ja or. Töö käigus valminud rakenduses kasutasin tühjade tekstikastide

peitmiseks või vajadusel näitamiseks nähtavuse valiku muutmist.

Joonis 6. Plokkide valik ja nupu juhtploki näide (MIT App Inventor 2, s.a.)

Page 16: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 14

Keijo Koort

Math ehk matemaatilised tehted võimaldavad rakenduses väga erinevaid arvutusi läbi viia.

Valminud programmis kasutasin testimiseks mõeldud ekraanil suvalise täisarvu

genereerimist. Ekraanile kuvati iga poole sekundi järel uus täisarv ja tänu sellele oli näha

rakenduse töösolek.

Text ehk tekstilised plokid võimaldavad teksti sisestada, võrrelda, liita ja asendada

tekstikastides. Abja Spordi- ja Tervisekeskuse tarbeks loodava matkaraja rakenduses

kasutasin tekstilisi plokke informatsiooni kuvamisel, võrdlemisel ja liitmisel.

Lists ehk nimekirjad võimaldavad luua nimekirju. Peale selle vastavalt vajadusele kirjeid

nimekirjadest lisada, eemaldada ja valida. Vajaduse puudumise tõttu ma rakenduse loomisel

nimetatud plokki ei kasutanud.

Colors ehk värvid võimaldavad muuta moodulite ja tekstide värve rakenduses. Nagu

nimekirjadegi puhul, ei kasutanud ma rakenduses kirjeldatud plokki.

Variables ehk muutujaplokid on nimelised viited erinevatele väärtustele. MIT App Inventor

2 puhul kasutatakse lokaalseid ja globaalseid muutujaid. Lokaalsed toimivad ainult ühe

kontrollploki sees, globaalsed seevastu kogu kuvatava ekraani koodi plokkides. Valminud

rakenduses kasutasin globaalseid muutujaid, et viia asukoha sensorist tulev lokaalne

muutuja juhtplokki, kus võrreldi väärtuseid eelnevalt määratud asukoha väärtustega.

Joonis 7. Tekstikasti nähtavuse sisse- ja väljalülitamine (MIT App Inventor 2, s.a.)

Page 17: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 15

Keijo Koort

Procedure ehk protsetuuriplokid aitavad säästa samade plokkide kordamist. Selle asemel,

et luua ühesuguseid plokkide kogumeid, tuleb luua üks plokkide grupp, millele antakse

sobilik nimi ja mida vajadusel välja kutsutakse. Teistes keeltes võidakse sellist plokki

nimetada ka funktsiooniks või meetodiks.

Joonis 8. Asukoha mooduli informatsiooni lisamine globaalsele muutujale ja asukohale nime

leidmine (MIT App Inventor 2, s.a.)

Joonis 9. Protsetuuriplokid (MIT App Inventor 2, s.a.)

Page 18: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 16

Keijo Koort

2. ABJA MATKARAJA RAKENDUSE LOOMINE

Minu diplomitöö põhieesmärgiks on rakenduse loomine kohalikule omavalitsusele ja Abja

Spordi- ja Tervisekeskusele peagi valmiva jalgratta- ja matkaraja tarbeks. Rakenduse abil

on võimalik saada lisainformatsiooni rajal olevate vaatamisväärsuste kohta. Rakenduse

tellija soovib minna kaasa tänapäevase suunaga pakkuda inimestele interaktiivset

informatsiooni nutiseadmest. Lisaks on massiivsete infotahvlite paigaldamine rajale kulukas

ja teabe osas piirav. Kompaktse infosildi paigaldamine QR-koodi abil pakub paremaid

võimalusi olulise jagamiseks ning ootamatuste korral on selle taastamine kohalikule

omavalitsusele rahaliselt soodsam. Peale selle on võimalik soovi korral alati rajal olevat

informatsiooni muuta, täiendada, lisada juurde audiovisuaalseid elemente jne.

Valminud rakendus on kasulik neile, kes laenutavad Abja Spordi- ja Tervisekeskusest

jalgratta või liiguvad jalgsi ning lähevad tutvuma ajalooliste paikadega Abja-Paluoja

matkarajal ja selle ümbruses. Tellijapoolseks sooviks oli, et rakendus oleks lihtsalt

kasutatav, kuvatav informatsioon vähese vaevaga hallatav, võimaldaks näidata pilte ning

vajadusel kuulata lisainformatsiooni.

Lähtudes eelnevast otsustasin luua rakenduse MIT App Inventor 2-ga, mis tellijapoolseid

soove täita lubas. Veel kõneles visuaalse programmeerimise poolt eelkõige

kasutajasõbralikkus ja mugavus. Lisaks on kõik tehtavad muudatused loomise käigus

koheselt nutiseadmes nähtavad ja erinevalt tekstil põhinevast programmeerimisest on vigade

tõenäosus väiksem. Samuti oli mul soov tutvuda rakenduse loomisega selleks, et vajalikku

tarkvara õpetada teistelegi huvilistele ning näidata kui kasutajasõbralik on programmeerida

nutiseadmele.

Page 19: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 17

Keijo Koort

2.1. Graafiline disain

Abja matkarajal teabe jagamiseks mõeldud rakenduse graafilise disaini nõudeks Abja

Spordi- ja Tervisekeskuse ning kohaliku omavalitsuse poolt oli lihtsus ja selgus. Eelkõige

seetõttu, et valminud rakenduse kasutajateks on väga erineva vanusegrupi inimesed. MIT

App Inventoris kasutatakse kuvamiseks ekraane, mida veebirakenduse looja saab

programmile juurde lisada. Alustades tuleb arvestada sellega, et uue projekti tegemisel

tekkiv esimene ekraan „Screen1“ jääb põhiekraaniks, mis kuvatakse rakenduse avamisel.

Avaekraani atribuutide alt saab anda rakendusele nime, lisada ikooni ja edasiarenduse puhul

ka versiooni numbri. Soovil kasutada teist ekraani esimesena, tuleb lisada plokid selliselt, et

toimuks suunamine vajalikule ekraanile.

Joonis 11. Avaekraanilt suunamine ekraanile nimega „Esimene“ (MIT App Inventor 2, s.a.)

Joonis 10. Kuvatõmmised nutitelefonist

Page 20: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 18

Keijo Koort

2.2. Asukoha määramiseks kasutatud plokkide kogumid

Diplomitöö käigus valminud Abja jalgratta- ja matkaraja kohta teavet jagavas rakenduses

on peamisteks plokkide kogumid, mida kasutatakse vastavalt programmis kuvatavale

informatsioonile ja vajadusele. Rakenduses on info kuvamiseks oluline tuvastada kasutaja

asukoht. Seda saab teha kahel viisil - nendest mugavaim on kasutaja kindlaks tegemine GPS

süsteemi põhjal. Teine võimalus on füüsiliselt kohapeal olles lugeda kasutaja asukoht välja

infotahvlil olevalt QR koodilt (Wikipedia. s.a).

2.2.1. GPS’i kasutamine asukoha tuvastamisel

GPS ehk ülemaailmne asukoha määramine on satelliitidel põhinev süsteem, millega saab

kasutaja asukoha kindlaks teha (Vikipeedia. s.a.). GPS mooduli käiku laskmiseks on vaja

lisada rakendusele nähtamatu asukoha moodul. Kui see on ekraanile tõstetud, saab plokkide

vaates kasutada „LocationSensor“ juhtplokki.

GPS lülitatakse seadmes rakendust avades automaatselt sisse. Samal ajal määratakse ajaline

intervall, mille jooksul asukohta kontrollitakse. Samuti lülitatakse sisse taimer, mida

kasutatakse hiljem teksti värskendamisel.

Kasutaja otsusel rakendada informatsiooni saamiseks GPS’i tuleb teha sellekohane valik

programmi peamenüüs. Uuel ekraanilehel teeb rakendus selgeks, kus seade paikneb.

Programm kuvab kasutaja pikkus- ja laiuskraadi ainult siis, kui on saanud selle kindlaks

Joonis 12. GPS mooduli sisselülitamine ekraani avamisel (MIT App Inventor 2, s.a.)

Page 21: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 19

Keijo Koort

määrata. Muul juhul kuvatakse kasutajale „Otsin...“. Pikkus- ja laiuskraade kuvatakse

seadmes kümnendkraadides.

GPS ekraanil kuvatakse lisaks eelnevale veel seadme kiirus ja ekraani alumises osas

kompassi nool näitamaks põhja-lõuna suunda. Selle rakendamiseks kasutasin seadmes oleva

digitaalse kompassi asimuudi väärtust, mis on päripäeva nurk põhja ja seadme suuna vahel.

Väärtuseid mõõdetakse 0-360 kraadini (Mereviki. s.a). Saades väärtuse keeratakse kompassi

noolega pilt asimuudi väärtusega võrdseks.

Joonis 13. Kompassi nõela pildi pööramine vastavalt asimuudi nurgale (MIT App Inventor

2, s.a.)

Olles seadmega umbes saja meetri läheduses vaatamisväärsusele, kuvatakse seadme

ekraanile asukoha lisainformatsioon. Vajadusel on võimalik rakenduse pikkus- ja

laiuskraadide kontrollis kinnitada asukoht ligikaudu kümne meetri täpsusega. Sel puhul peab

olema GPS signaal tugev, vastasel juhul metsas ja suuremate hoonete läheduses võib tekkida

probleem, kus rakendus ei saa aru, millise kohaga on tegemist. Raja läbijale mugavamaks

kasutamiseks jätsin pikkus- ja laiuskraadide võrdluse vahemiku suuremaks - umbes 100

meetrit.

Tuleb ära märkida, et asukohapunktide pikkus- ja laiuskraadide lisamine oli tülikas ja

aeganõudev. Rakenduse järgmise versiooni puhul tuleb koordinaadid lisada andmebaasi

kaudu, nii on võimalus juurde tekitada rohkem matkaradu ja infopunkte.

Avanenud ekraanile tuleb informatsioon veebilehelt, kust on võimalik vaadata asukohaga

seotud fotosid, lugeda informatsiooni ja mängida audiovisuaalseid faile.

Page 22: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 20

Keijo Koort

2.2.2. QR koodi kasutamine asukoha tuvastamisel

QR koodi kaudu asukoha tuvastamiseks peab kasutaja lugema seadmesse asukohas olevalt

infotahvlilt QR koodi. Selleks rakendab MIT App Inventor 2 sisseehitatud koodilugemise

tarkvara, mis töötab lisaks QR koodile ka tavalise ribakoodiga. Võimalus on mitte kasutada

sisseehitatud koodilugemist, kuid sellisel juhul peab olema nutiseadmele eelnevalt

paigaldatud koodilugemise tarkvara. Programmi kasutamise lihtsustamiseks jäi valminud

rakenduses valik sisseehitatud QR koodi lugeja peale.

Joonis 14. Koordinaatide võrdlemine ja kasutaja suunamine vastavale ekraanile (MIT App

Inventor 2, s.a.)

Joonis 15. QR koodi lugemise näide (MIT App Inventor 2, s.a.)

Page 23: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 21

Keijo Koort

Koodi lugedes teeb programm kindlaks väärtused ning kirjeid võrreldes avab rakenduses

sobiliku ekraani. Kui loetud kood ei osutu selleks, mis on valikutes, kuvatakse veateade ja

palutakse uuesti proovida. Koodi lugemisel ilma Abja matkaraja rakenduseta kuvatakse

ainult vaatamisväärsuse nimetus.

2.2.3. Kasutaja juhatamine tagasi Abja Spordi- ja Tervisekeskusesse

Kui rakenduse kasutaja on rajalt eksinud või soovib tagasi pöörduda algusesse, on tal

võimalik valida peamenüüst „Juhata Abja Spordi- ja Tervisekeskusesse“. Pärast selle valiku

tegemist käivitub MIT App Inventor 2 „ActivityStarter1“ moodul. Selle mooduli ülesandeks

on avada seadmes Google Maps rakendus ja näidata avanenud ekraanil teekonda tagasi

matkaraja algusesse. „ActivityStarter“ mooduli kaudu saab avada seadmes lisaks teisigi

rakendusi ning nendele koheselt sobilikke andmeid anda. Iga erinev rakendus, mida

soovitakse avada, peab olema eraldi „ActivityStarter“ mooduliga. Sel juhul annab Abja

jalgratta- ja matkaraja äpp Google Maps rakendusele aadressi, mis koosneb seadme

praegusest asukohast ja lõppkoordinaatidest. Seega juhatatakse kasutaja hetkelisest

asukohast tagasi algusesse, Abja Spordi- ja Tervisekeskusesse.

Joonis 16. „ActivityStarter1“ kaudu antav informatsioon (MIT App Inventor 2, s.a.)

Page 24: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 22

Keijo Koort

2.3. Veebis kuvatav informatsioon ja selle haldamine

Kui Abja jalgratta- ja matkaraja rakendus on teinud asukoha selgeks ning paigaks on üks

nendest punktidest, kus lisainformatsiooni kuvatakse, suunatakse kasutaja rakenduses

vastavale ekraanile, millel näidatakse internetis oleva veebilehe teavet. Informatsioon

kuvatakse lihtsama ja mugavama administreerimise tõttu WordPress sisuhaldusega loodud

veebilehelt. WordPress lehtedele on võimalik paigutada lisaks tekstile ka fotosid, videosid

ja helifaile (WordPress. s.a.). Näitena toodud Abja-Paluoja postimaja lehel on hoone

illustreerimiseks lisatud heli, pilt ja tekst. Helifail jääb mängima ka siis, kui seadme ekraan

lukustatakse - peatamiseks tuleb lahkuda lehelt või vajutada „start/paus“ nupule.

Kuvatava informatsiooni kogumine, lisamine veebilehele ja haldamine jääb kohaliku

omavalitsuse ja Abja jalgratta- ja matkaraja töörühma ülesanneteks. Selleks on veebilehe

toimetajatel eraldi kontod. Lisaks juhendasin, kuidas WordPress haldusliidese kaudu

tegutseda. Täiendavalt on huvilistel võimalik veebilehel olevat informatsiooni lugeda ka

ilma rakenduseta, kohaliku omavalitsuse veebilehe kaudu.

Joonis 17. Telefoni kuvatõmmis informatsiooni lehelt

Page 25: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 23

Keijo Koort

3. RAKENDUSE TESTIMINE JA KASUTAMINE

Rakenduse testimine töötamise käigus on oluline, et selgitada välja tekkivad probleemid

arendamise ajal. Kontrollitud tingimustel on programmi testimiseks hea kasutada erinevaid

seadmeid ja operatsioonisüsteemi versioone, sest kasutajate võimalused võivad olla väga

erinevad. Esimesed testimised sooritasin kodustes tingimustes ja rakenduse arenduse

lõppfaasis kasutasin kontrollimiseks kuut erinevat nutiseadet. Valminud rakenduse

töövooga saab tutvuda diplomitöö lisas, kus on näha erinevatel ekraanidel liikumise

võimalused ja kuvatav teave Abja postkontori näitel.

3.1. Rakenduse testimine sisetingimustes

Abja jalgratta- ja matkaraja rakenduse testimiseks kasutasin nutitelefoni Honor 8 (Android

7.0) ja tahvelarvutit Asus Nexus 7 (Android 5.1.1). Valminud rakenduse koheselt

testimiseks, on kolm võimalust. Vahendid selleks on projekti loomise juures lehe üleval

servas „Connect“ valiku all. Esimene ja nendest kõige lihtsam on AI Companion, mille

tarbeks on vaja, et WiFi ühendusega arvuti ja nutiseade asuvad mõlemad samas võrgus.

Ühenduse loomiseks on nutiseadmele tarviline installeerida MIT AI2 Companion rakendus

Google Play kaudu. Pärast paigaldamist ja käivitamist tuleb arvutist algatada ühendamine.

Selleks kuvatakse ekraanile QR kood koos tekstilise võtmega. Nutiseadmes tuleb vastavalt

soovile kood käsitsi kirjutada või valida QR pildistamine ning ühendamine.

Joonis 18. Kuvatõmmis Google Play poest

Page 26: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 24

Keijo Koort

Teine võimalus on nutiseade arvutiga ühendada USB kaudu. Selleks peab personaalarvutis

töötama aiStarter, mis on App Inventori kodulehelt allalaetav. Pärast aiStarteri käivitamist

tuleb algatada ühendamine veebilehitsejast. (App Inventor, s.a b)

Joonis 19. Kuvatõmmis aiStarteri toimimisest

Viimane võimalus rakenduse katsetamiseks on Androidi emulaatori kasutamine. Kuivõrd

Abja jalgratta- ja matkaraja rakendus kasutab GPS’i ja kaamerat, jäi programmi

rakendamine ära eelmainitute emulaatorist puudumise tõttu.

Rakenduse katsetamine vales asukohas nõudis GPS’i petmist „Fake GPS Location Spoofer

Free“ abil. Selle ülesandeks oli panna nutiseade uskuma, et asutakse seal, kus testimine

peaks tegelikult aset leidma. Sellisel viisil sai proovida, millistel pikkus- ja laiuskraadidel

matkaraja rakendus infot kuvab.

Joonis 20. Kuvatõmmis Google Play poest

Page 27: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 25

Keijo Koort

3.2. Rakenduse testimine välitingimustes

Rakenduse testimiseks välitingimustes kasutasin nutitelefone Honor 8 (Android 7.0),

Samsung Galaxy A5 (Android 6.0.1) ja Just5 Freedom X1 (Android 5.1) ning tahvelarvuteid

Lenovo Tab 3 (Android 6.0), Asus Nexus 7 (Android 5.1.1) ja Huawei MediaPad T1

(Android 4.4.4). Valminud äpi seadmetesse paigaldamiseks tuleb MIT App Inventor 2

veebirakenduses valida ülemisest Build menüüst QR koodiga programmi paigaldamine.

Seadmesse tuleb lugeda veebirakenduse poolt näidatud QR kood. Samas enne rakenduse

paigaldamist tuleb lubada tundmatutest allikatest allalaetud rakenduste paigaldamine.

Testimise käigus ilmnes, et Just5 Freedom X1 nutitelefonis ning Huawei MediaPad T1 ja

Lenovo Tab 3 tahvelarvutites kompassi moodul ei töötanud, sest seadmetes tõenäoliselt

puudub digitaalne kompass. Ülejäänud seadmetes kompassi moodul funktsioneeris. Teiste

moodulite puhul tõrkeid ei tekkinud - kõik toimisid testitavates nutitelefonides ja

tahvelarvutites probleemideta.

Joonis 21. Testitavad seadmed õigel asukohal

Page 28: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 26

Keijo Koort

Rakenduse installeerimisel küsitakse kasutajalt nõusolekut erinevatele teenustele ja

õigustele, mis on vajalikud programmi töötamiseks. Abja matkaraja kohta infot jagava

rakenduse puhul on oluline seadmel kaamera olemasolu ja asukoha luba. Pärast paigaldamist

tekib nutitelefoni või tahvelarvuti äppide hulka valminud rakendus, mida saab käivitada

ilma, et seade tuleks ühendada MIT App Inventor 2 veebirakendusega.

Allalaetud rakenduse puhul ei kuvata uusi muudatusi, mis on sisse viidud rakenduse

edasiarendamise käigus. Selleks tuleb rakendus uuesti QR koodiga alla laadida.

3.3. Rakenduse kasutamine

Diplomitöö koostamise käigus valminud Abja jalgratta- ja matkarajal asuvate

vaatamisväärsuste kohta informatsiooni jagav äpp vastas tellija soovile ja rakendust

tutvustava demonstratsiooni viisin läbi Abja jalgratta- ja matkaraja töörühma liikmetele

edukalt. Teabe koondamisega rajal läbikäidavate punktide kohta tegeleb kohaliku

omavalitsuse poolt määratud töögrupp, kellel on olemas toimetaja õigused. Esialgu

installeeritakse rakendus Abja Spordi- ja Tervisekeskusest ratta laenutanu nutiseadmesse

tema nõusolekul. Lisaks on raja läbijal oma nutiseadme puudumisel võimalik kasutada

tervisekeskusele kuuluvat ja eelnevalt seadistatud tahvelarvutit. Pärast rakenduse kasutamist

kogutakse kasutajailt tagasisidet rakenduse töötamise, kasutusmugavuse ja informatiivsuse

kohta. Oodatud on kõik ettepanekud.

Esimesel hooajal kogutud tagasiside põhjal viiakse sisse rakenduses parandused ja

valmistatakse ette selle üleslaadimine Google Play äppide nimekirja, kust kõigil Android

operatsioonisüsteemil töötavate nutiseadmete omanikel on võimalus Abja jalgratta- ja

matkaraja rakendus alla laadida.

Page 29: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 27

Keijo Koort

KOKKUVÕTE

Minu diplomitöö eesmärgiks oli uurida plokkidel põhinevat visuaalset programmeerimist ja

selle abil Android operatsioonisüsteemil erinevates seadmetes töötava rakenduse tegemine.

Töös kirjeldasin loodud rakenduses kasutatud visuaalseid plokke, nende vajalikkust ja

töötamise põhimõtteid. Eelnimetatu tulemina valmis Abja Spordi- ja Tervisekeskusele

rakendus, mida kasutades on võimalik peagi tehtaval Abja jalgratta- ja matkarajal saada

lisainformatsiooni teel olevate vaatamisväärsuste kohta.

Rakendus vastab tellija soovile - on lihtsalt kasutatav, vähese vaevaga WordPressi

veebilehel hallatav, võimaldab näidata pilte ning kuulata lisainformatsiooni. Teabe

koondamisega veebilehele tegeleb kohaliku omavalitsuse poolt määratud töögrupp, kellel

on olemas toimetaja õigused.

Oma töö esimeses peatükis andsin lühiülevaate visuaalsest programmeerimisest, sellega

seotud tarkvaradest Scratch ja Blockly, lisaks tutvustasin MIT App Inventori ajalugu ja

kasutamist. Teises peatükis põhjendasin praktilise töö teostamiseks kasutatud

veebirakenduse valikut ja kirjeldasin Abja jalgratta- ja matkaraja rakenduse loomiseks

vajalikke plokke ning nende kasutamist. Kolmandas peatükis testisin valminud programmi

töötamist erinevatel tingimustel ja seadmetes.

Abja matkarajal asuvate vaatamisväärsuste kohta informatsiooni jagava rakenduse tegin

MIT App Inventor 2-ga. Selle kasuks kõneles eelkõige kasutajasõbralikkus, mugavus ja

pidev muudatuste kontrollimise võimalus reaalajas isiklikust seadmest. Kuigi rakendusega

töötades sain aru, et visuaalsel programmeerimisel on siiski piiranguid tekstilise

programmeerimise ees - asukohapunktide lisamine oli tülikas ja aeganõudev. Peale selle tuli

rakenduse valmides välja, et nendes seadmetes, kus puudus digitaalne kompass, ei töötanud

ka kompassi moodul. Digitaalse kompassi olemasolul mooduli töötamisega probleeme ei

esinenud. Teiste rakenduse töötamiseks vajalike moodulite puhul tõrkeid ei tekkinud, kõik

toimis testitavates nutitelefonides kui ka tahvelarvutites takistusteta.

Page 30: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 28

Keijo Koort

Diplomitöö käigus valminud rakendus installeeritakse esimesel aastal Abja Spordi- ja

Tervisekeskusest ratta laenutanu nutiseadmesse inimese nõusolekul. Soovi korral on

kohapealt võimalus laenutada eelseadistatud rakendusega tahvelarvuteid. Pärast rakenduse

kasutamist kogutakse tagasisidet programmi töötamise, kasutusmugavuse ja informatiivsuse

kohta. Tagasiside põhjal viiakse sisse parandused ja valmistatakse ette rakenduse

üleslaadimine Google Play äppide nimekirja, kust kõigil Android operatsioonisüsteemil

töötavate nutiseadmete omanikel on võimalus see alla laadida.

Page 31: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 29

Keijo Koort

ALLIKAD

App Inventor. (s.a. a). Designer and Blocks Editor. [2017, märts 09]

http://appinventor.mit.edu/explore/designer-blocks.html

App Inventor. (s.a. b). Setting Up App Inventor. [2017, märts 09]

http://appinventor.mit.edu/explore/ai2/setup.html

Blockly. (s.a. a). Blockly for Web. [2017, mai 01]

https://developers.google.com/blockly/

Blockly. (s.a. b). Blockly's strengths and other options. [2017, mai 01]

https://developers.google.com/blockly/guides/overview

Clark, A. (2013). App Inventor launches second iteration. [2017, aprill 10]

http://news.mit.edu/2013/app-inventor-launches-second-iteration).

Code.org. (s.a.). Graph Paper Programming. [2017, aprill 02]

https://code.org/curriculum/course2/1/Teacher

Dehouck, R. (2015). The maturity of visual programming. [2017, mai 01].

http://www.craft.ai/blog/the-maturity-of-visual-programming/

Elisa. (2017). GfK uuring: Käesoleva aasta märtsis müüdi mobiiltelefone 11% võrra rohkem

kui veebruaris. [2017, aprill 28].

https://www.elisa.ee/et/elisast/organisatsioonist/elisa/uudised/2071/gfk-uuring-

kaesoleva-aasta-martsis-muudi-mobiiltelefone-11-vorra-rohkem-kui-veebruaris

Flowgorithm. (s.a.). [2017, aprill 02]

http://www.flowgorithm.org/

Gartner. (2017). Gartner Says Worldwide Sales of Smartphones Grew 7 Percent in the

Fourth Quarter of 2016. [2017, veebruar 22]

http://www.gartner.com/newsroom/id/3609817

Page 32: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 30

Keijo Koort

Google Developers. (2014). Is Blockly related to the programming language Logo? [2017,

märts 20]

https://groups.google.com/forum/#!searchin/blockly/starlogo/blockly/eG2kQ5tyGp

M/_ETqcdxH1rsJ

Lego Mindstorms. (s.a.). Programming blocks in the EV3 software. [2017, veebruar 28]

https://www.lego.com/en-us/mindstorms/learn-to-program

Maloney, J., Resnick, M., Rusk, N., Silverman, B., & Eastmond, E. (2010). The scratch

programming language and environment. [2017, mai 12]

Marks, A. (2014) Blockly versus Scratch – an apology [2017, mai 12]

https://devschoolblog.wordpress.com/2014/09/24/blockly-versus-scratch-an-

apology/

Mereviki. (s.a). Asimuut. [2017, mai 02]

http://mereviki.vta.ee/mediawiki/index.php/Asimuut

MIT App Inventor 2. (s.a.). [2017, jaanuar 15]

http://ai2.appinventor.mit.edu/

Progetiiger. (s.a.). Scratch [2017, mai 12]

http://progetiiger.ee/tool/13

Raidsalu, T. (2009, juuli 18). President pani koduvalla kooli uuele õppehoonele nurgakivi.

Sakala

Scratch. (s.a.). About Scratch. [2017, mai 01]

https://scratch.mit.edu/about

Scratch Blocks. (2017). GitHub. [2017, mai 8]

https://github.com/llk/scratch-blocks

The App Inventor Team. (s.a.). About us. [2017, mai 01]

http://appinventor.mit.edu/explore/about-us.html

Page 33: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

Androidi rakenduse loomine KOV matkarajal leitava info kuvamiseks kasutades MIT App Inventor 2

veebirakendust

Diplomitöö 2017

TLÜ Haapsalu Kolledž 31

Keijo Koort

Vilipõld, J., Anatoi, K. & Mironova, O. (2012). Rakenduste loomise ja programmeerimise

alused [PowePoint slides]. [2017, mai 12]

http://rlpa.ttu.ee/Rakenduste_loomise_ja_programmeerimise_alused_01.ppt

Viigimäe, M. (2008). Liikumine on tervise sõber. [2017, jaanuar 11]

http://www.valgamv.ee/web/doc/Tervis/MoonikaViigim%C3%A4e.pdf

Vikipeedia. (s.a.). GPS. [2017, mai 02]

https://et.wikipedia.org/wiki/GPS

Wikipedia. (s.a). QR code. [2017, mai 02]

https://en.wikipedia.org/wiki/QR_code

WordPress. (s.a.). About WordPress. [2017, mai 01]

https://wordpress.org/about/

Page 34: ANDROIDI RAKENDUSE LOOMINE KOV MATKARAJAL LEITAVA …inga/HPK/Keijo_Koort.pdf · Minu diplomitöö eesmärgiks on uurida plokkidel põhinevat visuaalset programmeerimist ja luua selle

LISA. VALMINUD RAKENDUSE TÖÖVOOG