poroČilo praktiČnega izobraŽevanja - praksa …praksa.uni-mb.si/porocila/e1042247.pdf · slika 9...
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
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.