====== Svrha projekta ====== Omogućiti slijepim i slabovidnim lakše snalaženje u svakodnevnim situacijama poput kupovine. Sustav će omogućiti skeniranje bar koda te reprodukciju govornog opisa proizvoda. Ako se skenirani proizvod ne nalazi u bazi podataka, sustav će omogućiti dodavanje novih objekata u bazu podataka. ====== Članovi tima ====== [[:2017:studenti:zkovacic:start|Zrinka Kovačić]] [[:2017:studenti:dkutlesa:start|Dorian Kutleša]] [[:2017:studenti:mvarga:start|Mihael Varga]] ====== Korisnici projekta ====== Slijepe i slabovidne osobe. ====== Ciljevi projekta ====== * Upoznavanje s radom u programskom okruženju Android Studio i programskim jezikom Java * Razvoj Android aplikacije za skeniranje bar koda * Izraditi dizajn koji omogućava jednostavnu interakciju između aplikacije i korisnika * Omogućiti skeniranje bar koda te izgovaranje imena predmeta čiji se bar kod skenira * Ostvariti mogućnost snimanja imena predmeta i njihova pohrana u lokalnu bazu i na poslužitelju kako bi bila dostupna svim korisnicima aplikacije * Jednostavno povezivanje i komunikacija između poslužitelja i mobilnog uređaja preko interneta ====== Resursi ====== * Android Studio 2.3.2 * Java SE Development Kit 8 * Pametni telefon s Android sustavom * Laptop ili osobno računalo ====== Zadatak ====== Moj zadatak bio je izraditi i dizajnirati Android aplikaciju Barcode Talker. Aplikacija omogućava izgovaranje imena predmeta čiji se bar kod skenira. Prvi korak je bio izrada novog Android projekta i odabir Empty Activity-a. Zajednički smo došli do imena samog projekta i aplikacije: "Barcode Talker" koje opisuje osnovnu funkcionalnost razvijene aplikacije. Aplikacija je pisana u programskom jeziku Java. Izvršni kod je datoteka s ekstenzijom .apk koja se može instalirati na mobilni uređaj s Android operacijskim sustavom. Bilo je potrebno izraditi //Manifest//, strukturiranu XML datoteku koja uređuje aplikacijski pristup sustavu uređaja, aktivnosti //SplashActivity //i// MainActivity//. Zadatak aktivnosti je prikaz korisničkog sučelja programa i omogućavanje interakcije korisnika s aplikacijom. U SplashActivity-u kreira se lokalna SQLite baza te se traže dopuštenja od korisnika za upotrebu kamere, pristup medijima i datotekama te korištenje mikrofona. Ukoliko je verzija Androida starija od 6.0, ne traže se dopuštenja korisnika. U MainActivity-u je razrađena cijela funkcionalnost aplikacije i sve njene mogućnosti. Duljim držanjem logo-a na ekranu, otvara se dijalog u koji je potrebno upisati IP adresu servera. U MainActivity-u je ostvareno povezivanje i komunikacija između aplikacije, servera i baze spajanjem s rezultatima projektnih zadataka kolega iz grupe. Nakon skeniranja, provjerava se nalazi li se taj bar kod u lokalnoj bazi podataka, ako da, dohvać se putanja do mp3 datoteke i reproducira se pomoću Media Playera. Ako zapis ne postoji u lokalnoj bazi, tada ga se traži na serveru. Postoji mogućnost i snimanja naziva novog artikla u mp3 formatu te njegovog spremanja u internu bazu i na server. Od ostalih dijelova Android aplikacije, može se još naglasiti Res direktorij u kojem su sadržani resursi projekta kao što su slike i XML datoteke koje opisuju izgled sučelja. ====== Ograničenja ====== Potrebno je osigurati pouzdanu razmjenu podataka između mobilnog telefona i poslužitelja. Osigurati neprekinut izvor napajanja poslužitelju. Kvaliteta čitanja bar koda ograničena je razlučivošću kamere i uvjetima osvjetljenja tijekom čitanja bar koda. ====== Rezultat ====== Rezultat rada je funkcionalna aplikacija spremna za korištenje. Kao tim smo dobili bolje razumijevanje korištenih tehnologija i uvid u izradu Android aplikacija kao i njihovo povezivanje sa poslužiteljem. Za poboljšanje aplikacije, bilo bi potrebno nasnimiti i implementirati u fazama rada aplikacije još zvučnih povratnih informacija koje će olakšati korištenje slijepim i slabovidnim osobama. Također, treba poraditi na automatskom fokusu kako bi se skratilo potrebno vrijeme mirnog držanja uređaja iznad bar koda. Daljnjim razvijanjem aplikacije moguće ju je pripremiti za korištenje u stvarnom svijetu i kao stvarnu pomoć slijepim i slabovidnim osobama.