poroČilo praktiČnega izobraŽevanja - praksa …praksa.uni-mb.si/porocila/e1042247.pdf · slika 9...

24
VISOKOŠOLSKI STROKOVNI ŠTUDIJ Informatika in tehnologije komuniciranja - Razvoj informacijskih sistemov POROČILO PRAKTIČNEGA IZOBRAŽEVANJA v Drugi vid d.o.o. - Maribor Čas opravljanja 18.3.2013 18.5.2013 Mentor Blaž Magdič Študent Klemen Hrastnik Vpisna številka E1042247 E-pošta [email protected] Telefon +38640183960

Upload: letruc

Post on 25-May-2018

217 views

Category:

Documents


1 download

TRANSCRIPT

VISOKOŠOLSKI STROKOVNI ŠTUDIJ

Informatika in tehnologije komuniciranja - Razvoj informacijskih sistemov

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

v

Drugi vid d.o.o. - Maribor

Čas opravljanja 18.3.2013 – 18.5.2013

Mentor Blaž Magdič

Študent Klemen Hrastnik

Vpisna številka E1042247

E-pošta [email protected]

Telefon +38640183960

Klemen Hrastnik

2

Klemen Hrastnik

3

1.člen

Skladno z 36. členom Zakona o visokem šolstvu (Uradni list RS, št. 119/06 - UPB3, 64/08, 86/09, 34/11, v

nadaljevanju ZViS) traja izobraževanje po študijskih programih za pridobitev visoke strokovne izobrazbe od tri

do štiri leta. Na podlagi 33. člena ZViS je obvezen sestavni del teh programov tudi praktično izobraževanje v

delovnem okolju. Ta pogodba ureja medsebojna razmerja, pravice in obveznosti pogodbenih strank pri izvajanju

praktičnega izobraževanja v okviru tri letnega visokošolskega strokovnega študijskega programa UNIVERZE v

Mariboru na Fakulteti za elektrotehniko, računalništvo in informatiko, Smetanova 17, 2000 Maribor - v

nadaljevanju FERI.

2. člen

Dolžnosti gospodarske družbe so:

svetovati in izobraževati študenta/študentko v skladu s programom izvajanja praktičnega

izobraževanja, ki je dostopen na FERI,

študenta/študentko pred začetkom praktičnega izobraževanja seznaniti s predpisi o varstvu pri delu in

mu/ji zagotoviti varen potek dela,

pregledati poročilo praktičnega izobraževanja in ga oceniti,

omogočiti učitelju veščin oz. koordinatorju prakse na FERI opravljanje svetovanja in nadzora nad

izvajanjem praktičnega izobraževanja.

3. člen

Dolžnosti študenta/študentke so:

da z vso resnostjo in prizadevnostjo izkoristi možnosti praktičnega izobraževanja v delovnem okolju,

da se drži predpisanega delovnega časa, ki je v veljavi v gospodarski družbi,

upoštevati navodila in naloge mentorja strokovnega izobraževanja,

izdelati poročilo o praktičnem izobraževanju po merilih in zahtevah FERI in ga predložiti mentorju,

pravočasno javiti izostanke (bolezen, študijske obveznosti).

4. člen

Gospodarski družbi ne pripadajo iz naslova te pogodbe nobena plačila, razen plačila, ki so posledice kazenske

odgovornosti študenta/študentke. Študentu/študentki lahko pripada nagrada v skladu s pripadajočo kolektivno

pogodbo gospodarske družbe.

5. člen

Študent/študentka med izvajanjem praktičnega izobraževanja ohranja status študenta in je obvezno

zdravstveno zavarovan/a. Če študent/študentka pri opravljanju praktičnega izobraževanja več nima statusa

študenta, ga s tem ne pridobi.

6. člen

Pogodba se lahko prekine: brez odpovednega roka, zaradi pomembnega vzroka, z odpovednim rokom 4 tedne, če

program izobraževanja močno odstopa od zastavljenih ciljev opredeljenih v programih praktičnega

izobraževanja dostopnih na FERI.

7. člen

Pogodba je sklenjena v treh izvodih, od katerega prejme en izvod FERI, en izvod gospodarska družba in en

izvod študent na praktičnem izobraževanja.

Klemen Hrastnik

4

KAZALO VSEBINE

1 Uvod ................................................................................................................................... 5

2 Opis gospodarske družbe in produktov ....................................................................... 5

3 Opis praktičnega izobraževanja .................................................................................... 7

3.1 Način dela .................................................................................................................. 7

3.2 Uporabljene tehnologije in orodja ........................................................................... 7

3.2.1 Tehnologije ......................................................................................................... 7

3.2.2 Orodja .................................................................................................................. 8

4 Strokovno delo ............................................................................................................... 10

4.1 Spoznavanje in testiranje aplikacije Equaleyes ................................................. 10

4.2 Nastavljanje velikosti pisav na različnih napravah............................................. 13

4.3 Manjši projekti .......................................................................................................... 15

4.4 Aplikacija za poslušanje podcastov ..................................................................... 20

5. Sklep ................................................................................................................................ 23

KAZALO SLIK

Slika 1 Logotip podjetja ............................................................................................................. 5

Slika 2 Uporabniški vmesnik aplikacije Equaleyes ................................................................... 7

Slika 3 Programski jezik Java .................................................................................................... 8

Slika 4 Bitbucket logo ................................................................................................................ 8

Slika 5 JIRA logo ....................................................................................................................... 9

Slika 6 TortoiseSVN logo .......................................................................................................... 9

Slika 7 Android SDK logo ....................................................................................................... 10

Slika 8 Ročno testiranje ............................................................................................................ 11

Slika 9 Primer Robotium testiranja .......................................................................................... 12

Slika 10 Funkcionalnosti orodja Robotium .............................................................................. 12

Slika 11 Informacije glede velikosti zaslona mobilnih naprav ................................................ 13

Slika 12 Prikaz dejanske in splošne velikosti zaslona .............................................................. 13

Slika 13 Struktura ustvarjenih kategorij za različne velikosti zaslonov ................................... 14

Slika 14 Xml dokument z dimenzijami pisav .......................................................................... 15

Slika 15 Seznam kategorij aplikacij ......................................................................................... 16

Slika 16 Izbira aplikacije iz seznama in možnost naložitve le te ............................................. 16

Slika 17 Implementacija metode za dodajanje aplikacij iz Google play-a .............................. 16

Slika 18 Aplikacija Tutorial pred preureditvijo ....................................................................... 17

Slika 19 Aplikacija Tutorials po spremembi ............................................................................ 17

Slika 20 Proces delovanja aplikacije Tutorials ........................................................................ 18

Slika 21 Prikaz seznama alarmov v aplikaciji Reminder ......................................................... 19

Slika 22 Nastavljanje alarma v aplikaciji Reminder ................................................................ 19

Slika 23 Metoda za pridobivanje melodij sistema Android ..................................................... 20

Slika 24 Seznam melodij za obveščanje aplikacije Reminder ................................................. 20

Klemen Hrastnik

5

Slika 25 Metoda SAX parserja ................................................................................................. 22

Slika 26 Prikaz delovanja razreda AsyncTask ......................................................................... 22

Slika 27 Prikaz kategorij podcastov ......................................................................................... 23

Slika 28 Prikaz avtorjev podcastov .......................................................................................... 23

Slika 29 Seznam podcastov izbranega avtorja ......................................................................... 23

Slika 30 Zaslonska maska za poslušanje podcastov ................................................................. 23

1 Uvod

Praktično izobraževanje sem opravljal v podjetju Drugi vid d.o.o. v Mariboru. Podjetje

Drugi vid se ukvarja z razvojem mobilnih rešitev, namenjenim slepim in slabovidnim osebam,

ki jim pomagajo pri upravljanju vsakodnevnih opravil. Praktično izobraževanje sem opravljal

v terminu med 18.3.2013 in 18.5.2013.

Moje praktično izobraževanje je potekalo na oddelku razvoja in načrtovanja mobilne

rešitve Equaleyes. V podjetju sem se priključil razvojni ekipi, ki mi je bila ves čas na voljo za

vprašanja in težave, ki so se mi pojavljale pri razvoju. Tekom mojega strokovnega

izobraževanja so mi bile dodeljene naloge, katere sem vestno opravljal.. V času izobraževanja

sem nagradil in pridobil širok spekter znanja s področja razvoja mobilnih rešitev.

2 Opis gospodarske družbe in produktov

Slika 1 Logotip podjetja

Podjetje Drugi vid d.o.o. so decembra 2011 ustanovili štirje študentje zadnjega letnika

magisterskega študija računalništva in informacijskih tehnologij na FERI, Tine Poštuvan,

Luka Topolovec, Blaž Magdič in Žan Markan. Že samo ime podjetja nakazuje, da se

ukvarjajo z razvojem mobilnih rešitev namenjenim slepim in slabovidnim osebam. Njihov cilj

je prilagoditi pametne mobilne naprave tako, da bodo slepim in slabovidim osebam

poenostavila vsakdanja opravila kot so pisanje sms-sporočil, brskanje po telefonskem

imeniku, prečkanje cest, prepoznavanje barv, in še veliko drugih stvari.

Zgodba o uspehu podjetja se je pričela s predstavitvijo njihove mobilne platforme na

globalnem študentskem tekmovanju Microsofta Imagine Cup, ki se ga udeležuje več kot

325.000 bodočih tehnologov, znanstevnikov in raziskovalcev, ter zasedli odlično sedmo

mesto med 183 sodelujočimi državami. Leta 2012 so s svojimi rešitvami prepričali tudi

komisijo za izbor v elitni podjetniški pospeševalnik Wayra Academy.

Klemen Hrastnik

6

Equaleyes

Equaleyes je mobilna platforma, ki temelji na operacijskem sistemu Android in ponuja

prilagodljivo rešitev za ljudi z različnimi posebnimi potrebami. Namen te mobilne platforme

je zagotoviti enostavno uporabo osnovnih in naprednih funkcionalnosti mobilnih naprav.

Odlikujo jo poenostavljen uporabniški vmesnik sistema Android (velika pisava, kontrast

barve, enostavna interakcija) in konsistenčna uporabniška izkušnja na vseh namenskih

aplikacijah.

Poseben uporabniški vmesnik omogoča enostavno interakcijo z zaslonom na dotik. Vsaka

akcija na zaslonu sproži glasovno povratno informacijo kar naredi upravljanje z napravo

precej lažje.

Mobilna rešitev equaleyes ponuja popolnoma spremenjen in po meri zgrajen uporabniški

vmesnik za lažjo uporabo, glasovno povratno informacijo z vgrajenim android TTS(text-to-

speech engine) ter seznam aplikacij navedenih spodaj:

Osnovne funkcionalnosti telefon

- Klicanje

- Dnevnik klicev

- Imenik kontaktov

- Sporočanje

- Ura in datum

- Status naprave

- Nastavitve

Aplikacije za vsakodnevna opravila

- Snemalec zvoka

- Poslušanje napovedi vremena

- Opomnik

- Pripovedovalec šal

- Kalkulator

- Zaznavanje svetlobe

Ostale aplikacije

- Zajem trenutne lokacije

- Navodila za uporabo aplikacij

- Poslušanje podcastov

Klemen Hrastnik

7

Slika 2 Uporabniški vmesnik aplikacije Equaleyes

3 Opis praktičnega izobraževanja

3.1 Način dela

Prvi dan praktičnega izobraževanja sem se spoznal z mentorjem in razvojno ekipo.

Seznanili so me z delovnim časom podjetja in načinom dela. Skupaj z mentorjem sva

vzpostavila potrebna okolja, ki so bila potreba za razvoj. Sledil je uvoz celotnega projekta

Equaleyes v razvojno okolje Eclipse nakar sem lahko pričel s spoznavanjem programske

kode mobilne aplikacije, ki je bila tedaj v beta različici. Moja prva dodeljena naloga je bila, da

se spoznam z samo mobilno aplikacijo in testiram njene funkcionalnosti.

3.2 Uporabljene tehnologije in orodja

3.2.1 Tehnologije

JAVA

Java je objektno usmerjeni, prenosljivi programski jezik, ki ga je razvil James Gosling’s

sodelavci v podjetju Sun Microsystems. Projekt, ki se je v začetku (leta 1991) imenoval Oak

(hrast), je bil razvit kot zamenjava za C++. Jave ne smemo zamenjevati z jezikom JavaScript,

ki ima podobno ime, ter podobno, C-jevsko skladnjo. Različica Java 1.0 je bila objavljena leta

1996, zadnja različica je 6.0 (avgust 2007). Javo vzdržuje in posodablja Oracle - Sun

Microsystems.

Tolmač za javo je vgrajen v večino spletnih brskalnikov, s tem se javanski programčki

(applet) lahko izvajajo kot del HTML dokumenta.

Klemen Hrastnik

8

Poznamo 3 vrste jave:

J2SE - standardna različica jave za osebne računalnike

J2ME - različica jave za mini naprave (mobiteli, pametni televizorji, ...)

J2EE - poslovna različica jave

Z javo se da programirati tudi aplikacije na mobilnih telefonih (J2ME) in pametnih telefonih

z operacijskim sistemom Android.

Slika 3 Programski jezik Java

3.2.2 Orodja

BITBUCKET

Bitbucket je spletna storitev, ki omogoča spletno gostovanje projektov (izvorne kode)

katera uporabljajo bodisi Mercurial ali Git sisteme za nadzor različic programske kode.

Bitbucket ponuja tako plačljive kot brezplačne račune za poslovno uporabo. Omenjeni

brezplačni računi, ponujajo neomejeno število zasebnih zbirk (ki imajo lahko največ 5

uporabnikov v primeru prostih računov) in dodatno možnost povečanja števila uporabnikov z

pošiljanje povabil vašim prijateljem, da se pridružijo uporabi okolja Bitbucket s čimer lahko

pridobijo do največ 3 uporabnike, kar omogoča skupno 8 uporabnikov brezplačne uporabe

sistema Bitbucket. Okolje omogoča uporabo javnega ali zasebnega repozitorija, sledji je viden

samo uporabnikom, ki so dodeljeni v ta repozitorij in namenjen izključno njim. Bitbucket je

napisan v programskem jeziku Phython in temelji na Django spletnem ogrodju.

Slika 4 Bitbucket logo

Klemen Hrastnik

9

JIRA

Jira okolje je namenjeno sledenju projekta, ki vključuje ekipno planiranje, načrtovanje in

izgradnjo odličnih produktov. Omogoča organiziran nadzor nad opravljenem delom,

trenutnim delom, dodeljevanjem nalog zaposlenim, sledenjem napredka itd.

Slika 5 JIRA logo

TortoiseSVN

TortoiseSVN je brezplačen odprtokodni program za sistem nadzora različic Subversion.

TortoiseSVN upravlja datoteke in mape skozi čas. Datoteke so shranjene v centralnem

skladišču. Skladišče je podobno običajnemu strežniku datotek, s to razliko, da si zapomni vse

spremembe, ki so bile kadarkoli narejene na datotekah in mapah. To omogoča, da pridobite

starejšo različico datoteke in pogledate skozi zgodovino, kako so se podatki spreminjali in

kdo je spremembe naredil. Prav zato marsikdo smatra Subversion in tudi ostale sisteme za

nadzor različic kot neke vrste “časovni stroj”.

Nekateri sistemi za nadroz različic so posebej prikrojeni za urejanje strukture izvorne

kode in imajo veliko zmožnosti, ki so specifične za razvoj programske opreme - na primer

razumevanje programskih jezikov ali dodatna orodja za njhovo gradnjo. To so sistemi

SCM (software configuration management). Subversion je splošen sistem, ki omogoča

urejanje katerokoli zbirke datotek, vključno z datotekami izvorne kode.

Slika 6 TortoiseSVN logo

ANDROID SDK

Android SDK vam zagotavlja API knjižnice in razvojna orodja, potrebna za gradnjo,

preizkušanje in razhroščevanje aplikacij za sistem Android.

Vsebuje bistvene Android SDK komponente in različico Eclipse IDE z vgrajenim ADT

(Android Developer Tools) za racionalizacijo razvoja Android aplikacij.

- Eclipse + ADT plugin

Klemen Hrastnik

10

- Android SDK Tools

- Android platform + orodja

- Zadnja verzija platforme Android

- Android emulator

Slika 7 Android SDK logo

4 Strokovno delo

4.1 Spoznavanje in testiranje aplikacije Equaleyes

Testiranje je zelo pomemben del pri razvoju programske opreme, saj z njim najdemo

in potem odpravimo morebitne napake oz. buge, ki so prisotne v naši programski opremi.

Redno pravilno testiranje in odpravljanje napak programske kode nam zvišuje kvaliteto in

zanesljivost delovanja aplikacije kar privede do zadovoljnih uporabnikov kot tudi

razvijalcev.

Ročno testiranje aplikacije

Prva naloga, ki mi je bila dodeljena je bilo testiranje mobilne aplikacije Equaleyes.

Dobil sem excel dokument v katerem so bile napisane vse funkcionalnosti in akcije

posameznih aplikacij, katere je bilo potrebno dejansko testirani na mobilni napravi in

zapisovati rezultate testov.

Spodnja slika prikazuje rezultat testiranje aplikacije diktafon. Stolpec “Ocena”

prikazuje ali je test določene funkcionalnsti uspešen-1 ali neuspešen-0.

Klemen Hrastnik

11

Slika 8 Ročno testiranje

Popravljanje testov enot in programsko testiranje

Kot naslednje delo, ki mi je bilo dodeljeno je bilo popravljanje testov enot in prilagoditev

le teh glede na novejšo verzijo aplikacije. Prvo je bilo potrebno pregledati in analizirati vse

teste posamezne aplikacije, najdit spremembe in na novo sprogramirati teste glede na njihove

spremembe. Vsaka aplikacija znotraj rešitve Equaleyes vsebuje večje število testov.

Primeri testov enot:

- test uspešno poslanega sms-a

- test uspešnega shranjevanja kontakta v imenik

- test uspešne zamenjave barvne sheme

- test uspešnega nastavljanja opomnika

Spodnja programska koda prikazuje implementacijo testa, ki preverja pravilno računanje in

brisanje številk v aplikaciji Kalkulator.

Klemen Hrastnik

12

Slika 9 Primer Robotium testiranja

Programsko okolje Eclipse omogoča samodejno testiranje uporabniškega vmesnika, kar

pomaga ohranjati kakovost programske opreme in hitro zaznavanje nepravilnega izvajanja

aplikacije ob morebitnih spremembah programske kode, ki vpliva na delovanje drugih

funkcionalnosti. Testiranje android aplikacij omogoča izvajanje testov brez prisotnosti

človeških virov.

Robotium je testirno orodje namenjeno testiranju uporabniškega vmesnika, ki simulira

“touching”, klikanje, pisanje in ostale uporabniške akcije relevantne za android aplikacije.

Sledi predstavitev uporabljenih funkcionalnosti testirnega orodja Robotium:

Slika 10 Funkcionalnosti orodja Robotium

Klemen Hrastnik

13

4.2 Nastavljanje velikosti pisav na različnih napravah

Ker je mobilna rešitev Equaleyes namenjena ljudem z posebnimi potrebami kot so npr.

slabovidni, je bilo potrebno prilagodit velikosti pisave na maksimalno velikost, ki je

možna glede na ponujen prostor.

Analiziranje in pridobivanje informacij

Kot prvo je bilo potrebno pridobiti informacije o top 20 telefonih glede velikosti

zaslonov. Namen te naloge je bil, da nastavim idealne velikosti pisave glede na resolucijo,

velikost zaslona in gostoto pikslov mobilne naprave.

Naloge sem se lotil tako, da sem te potrebne informacije poiskat na spletu in jih vnesel

v excelovo rapredelnico.

Spodnja slika prikazuje pridobljene informacije glede zaslonov različnih mobilnih naprav.

Slika 11 Informacije glede velikosti zaslona mobilnih naprav

Pomemben podatek na sliki predstavlja informacija o tem v katero skupino glede

velikosti zaslona spada mobilna naprava. Ta podatek pridobimo le pod pogojem, da

poznamo velikost zaslona v inches in gostoto pikslov.

Iz spodnje slike je razvidno kako pridobimo informacijo o tem v katero skupino spada

naprava glede na znano velikost zaslona in gostoto pixslov.

Slika 12 Prikaz dejanske in splošne velikosti zaslona

Klemen Hrastnik

14

Kreiranje XML dokumentov z dimenzijami pisav

Po pridobljenih potrebnih informacijah o velikostih zaslonov je bilo potrebno kreirati XML

dokumente z različnimi dimenzijami pisav glede na naslednje kategorije:

small-ldpi

small-mdpi

normal-hdpi

normal-xhdpi

sw-400dp-hdpi

sw-400dp-xhdpi

Kategorije predstavljajo velkosti zaslonov od najmanjših (small) do ročno definiranih

glede na najmanjšo širino zaslona (sw-400dp).

Spodnja slika prikazuje ustvarjene kategorije(mape) v programskem okolju Eclipse za

katere samo okolje poskrbi, da so samodejno prepoznane glede na napravo in njene lastnosti

(velikost zaslona, resolucija,..)

Slika 13 Struktura ustvarjenih kategorij za različne velikosti zaslonov

Sledilo je nastavljanje idealnih velikosti pisav za vsako kategorijo posebej. Tu je bilo

potrebno nastaviti velikost pisave za vse gradnike (gumbe, vnosna polja, tekste, sezname, itd)

kar je prestavljajo precej dela. Za testiranje in nastavljanje pisav sem dobil mobilne naprave,

ki so jih imeli v podjetju na voljo za testiranje, manjkajoče naprave pa se moral nadomestiti z

uporabo Emulatorja kateremu je bilo potrebno nastaviti lastnosti dejanskih naprav (velikost

zaslona, resolucija, globina pikslov).

Spodnja slika prikazuje del XML dokumenta v katerem sem nastavljal dimenzije pisav

glede na določene gradnike v aplikacijah.

Klemen Hrastnik

15

Slika 14 Xml dokument z dimenzijami pisav

4.3 Manjši projekti

Tekom praktičnega izobraževanja mi je bilo dodeljeno več manjših nalog, ki jih je bilo

potrebno opraviti. Tako sem postopoma spoznaval mobilno rešitev Equaleyes, njeno

delovanje, arhitekturo in način implementiranja novih funkcionalnosti.

Dodajanje aplikacij iz Google play v Equaleyes

Ena izmed aplikacij v rešitvi Equaleyes je aplikacija, namenjena nalaganju aplikacij iz

portala Google play, ki so uporabniško prilagojene ljudem z posebnimi potrebami.

Namen aplikacije

Poenostavljen način nameščanja aplikacij, ki so prilagojene za ljudi s posebnimi

potrebami

Nabor najbolj aktualnih aplikacij

Funkcionalnosti

Izbira kategorije aplikacij

Prikaz aplikacij grupiranih na kategorije

Klemen Hrastnik

16

Poslušanje opisa izbrane aplikacije

Namestitev aplikacije preko portal Google play

Moja naloga je bila, da pripravljen nabor aplikacij razporedim v ustrezne kategorije

(komuniciranje, izobraževanje, zabava, glasba, itd) in napolnim omenjene kategorije z

ustreznimi aplikacijami oz. njihovimi podatki(naslov, opis in url), ki jih je bilo potrebno

pridobiti iz portala Google play.

Slika 15 Seznam kategorij aplikacij

Slika 16 Izbira aplikacije iz seznama in

možnost naložitve le te

Spodnja slika prikazuje metodo kateri je bilo potrebno implementirati telo z ustreznimi

podatki.

Slika 17 Implementacija metode za dodajanje aplikacij iz Google play-a

Klemen Hrastnik

17

Dopolnitev aplikacije Tutorials

Znotraj mobilne rešitve Equaleyes se nahaja aplikacija z imenom “Tutorials”, ki je

namenjena glasovni predstavitvi vseh aplikacij in njihovih funkcionalnosti z namenom, da

lahko slepi uporabniki lažje osvojijo njihov name in uporabo.

Namen aplikacije

Glasovni vodič oz. predstavitev vseh aplikacij rešitve Equaleyes

Seznaniti uporabnika z vsemi možnostmi, ki jih aplikacije ponujajo

Hitrejše spoznanje zgradbe vmesnika in načina interakcije

Funkcionalnosti

Prikaz seznama vseh aplikacij, ki jih Equaleyes ponuja

Poslušanje kratkih navodil za uporabo posameznih aplikacij

Slika 18 Aplikacija Tutorial pred preureditvijo

Slika 19 Aplikacija Tutorials po spremembi

Iz zgornjih dveh slik je razvidno da je na začetku aplikacija Tutorial vsebovala samo eden

splošni glasovni vodič, ki je predstavljal aplikacijo v celoti. Moja naloga pa je bila, da dodam

še navodila za uporabo vseh ostalih aplikacij, ki jih srečamo v mobilni rešitvi Equaleyes.

Klemen Hrastnik

18

Slika 20 Proces delovanja aplikacije Tutorials

Dodajanje melodij v aplikacijo Reminder

V naboru aplikacij v rešitvi Equaleyes se nahaja tudi aplikacija Reminder, ki omogoča vse

funkcionalnosti kot vsem dobro poznani mobilni opomnik, ki je namenjen obveščanju

uporabnika, le da je ta uporabniško prilagojen za ljudi z posebnimi potrebami.

Namen aplikacije

Obveščanje, opominjanje uporabnika

Funkcionalnosti

Prikaz seznama nastavljenih alarmov

Nastavljanje imena opomnika

Nastavljanje časa, dneva obveščanja

Izbira melodije zvonenja

Možnost izključitve opominjanja

Uporabnik zažene aplikacijo Tutorial

•Prikaže se seznam nazivov vseh aplikacij, ki jih ponuja rešitev Equaleyes

Uporabnik iz seznama izbere določeno aplikacijo

•Odpre se novi pogled, ki je namenjen poslušanju navodil

Aplikacija začne samodejno predvajat glasovni vodič

•Uporabnik posluša izbrana navodila

Klemen Hrastnik

19

Vizualna predstavitev aplikacije Reminder

Slika 22 Nastavljanje alarma v aplikaciji Reminder

Aplikacija Reminder je na začetku omogočala skromno izbiro melodij alarma. Moja naloga

je bila, da izbiro alarmov obogatih z vsemi melodijami, ki jih sistem android podpira.

Naloge sem se lotil tako, da sem prvo analiziram problem in potem začel z iskanjem

rešitve “kako pridobiti seznam vseh melodij ki jih uporablja sistem android”. Po pogovoru z

mentorjem in brskanju po dokumentaciji na internetu, ki je namenjena andriod razvijalcem

sem ugotovil, da moram uporabit razred RingtoneManager, ki kot že samo ime pove, da

upravlja z melodijami na mobilni napravi.

Uporabil sem spodnjo metodo s katero sem pridobil url naslove vseh melodij glede na tip.

Možni tipi melodij so bili:

Alarm (namenjen za opominjanje uporabnika)

Notification (obveščanje uporabnika)

Ringtone (melodije zvonjenja)

All (vsi tipi melodij skupaj)

Slika 21 Prikaz seznama alarmov v aplikaciji

Reminder

Klemen Hrastnik

20

Slika 23 Metoda za pridobivanje melodij sistema Android

Po implementirani rešitvi je aplikacija Reminder ponujala bogat izbor izbire melodije za

obveščanje uporabnika.

Slika 24 Seznam melodij za obveščanje aplikacije Reminder

4.4 Aplikacija za poslušanje podcastov

Eden izmed večjih projektov oz. nalog, ki so mi bile dodeljene tekom praktičnega

izobraževanja je bila implementacija aplikacije za poslušanje zvočnih podcastov, ki jih

snemajo ljudje s posebnimi potrebami z namenom, da drugim olajšajo težave pri uporabi

pametnih telefonov.

Klemen Hrastnik

21

Zasnova aplikacije

Po posvetovanjem z mentorjem in ostalimi zaposlenimi smo skupaj oblikovali strukturo

aplikacije, ki je bila zgrajena iz

Seznama kategorij podcastov

Seznama avtorjev posameznih kategorij

Seznama podcastov izbranega avtorja

Pogleda za poslušanje izbranega podcasta

Proces delovanje aplikacije

Obdelava XML dokumentov

Aplikacija Podcast je podatke o avtorjih in njihovih podcastih črpala iz XML dokumentov,

ki so bili dosegljivi na spletu v obliki RSS tehnologije (http://blind-geek-

zone.net/feed/podcast).

Za obdelavo XML dokumentov sem uporabil SAX parser, ki je kratica za “Simple API for

XML” in je zelo močno orodje za branje XML dokumentov v Java programskem jeziku.

Ena izmed večjih prednosti, ki jih ponuja SAX parser je ta, da za delovanje uporabi zelo

malo pomnilniškega prostora, saj je njegov način delovanja takšen, da obdeluje vsako vrstico

posebej in zato ne naloži celotnega XML dokumenta v pomnilnik, kar lahko predstavlja velik

problem pri obdelavi velikih XML dokumentih.

Spodnja programska koda predstavlja eno izmed metod SAX parserja, ki se pokliče za vsak

zaključen XML element.

1.korak

• Uporabnik zažene aplikacijo Podcasts

• Prikaže se seznam kategorij podcastov

2.korak

• Uporabnik izbere poljubno kategorijo

• Aplikacija prikaže seznam avtorjev izbrane kategorije

3.korak

• Uporabnik iz seznama izbere avtorja

• Prikaz podcastov izbranega avtorja

4. korak

• Uporabnik izbere poljuben podcast, ki ga želi poslušati

• Prikaže se pogled za poslušanje podcasta

Klemen Hrastnik

22

Slika 25 Metoda SAX parserja

Asinhrono delovanje aplikacije

V današnjih časih smo se uporabniki mobilnih aplikacij zelo razvadili in ne trpimo prav

dolgo slabo odzivnih aplikacij. Slabo uporabniško izkušnjo, lahko povzročajo različni

dejavniki, med nje pa najpogosteje spade hitrost delovanja aplikacije.

Pri obdelavi XML dokumentov, kjer je bilo potrebno branje podatkov iz mobilnega

interneta sem uporabil abstraktni razred AsyncTask, ki ga vsebuje Android in nam omogoča

enostavno izvajanje programske kode v ločeni niti in pošiljanje rezultatov nazaj na glavno nit.

Slika 26 Prikaz delovanja razreda AsyncTask

Klemen Hrastnik

23

Končni rezultat aplikacije

Vizualna predstavitev izdelane aplikacije za poslušanje podcastov

Slika 27 Prikaz kategorij podcastov

Slika 28 Prikaz avtorjev podcastov

Slika 29 Seznam podcastov izbranega avtorja

Slika 30 Zaslonska maska za poslušanje podcastov

5. Sklep

Klemen Hrastnik

24

Praktično izobraževanje sem imel možnost opravljati v mladem perspektivnem podjetju

Drugi vid d.o.o. in ga lahko ocenim kot zelo uspešno. Pridobil sem ogromno novega znanja in

izkušenj s področja razvoja mobilnih rešitev, ki mi bodo zagotovo v prihodnosti prišla prav.

Spoznal sem delo v skupini in kako potekajo stvari pri dejanskih projektih.

Na koncu bi se še rad zahvalil mentorju Blažu Magdiču in Luki Topolovcu, ki sta mi

omogočila opravljanje praktičnega izobraževanja in mi vedno priskočila na pomoč, kadar sem

naletel na kakršne koli težave.