Sadržaj

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.

Korisnici projekta

Slijepe i slabovidne osobe.

Opis dijelova sustava

Ciljevi projekta

Resursi

Zadatak

Moj zadatak bio je vezan uz baze podataka. Bilo je potrebno stvoriti dvije baze: lokalnu unutar Android uređaja te bazu na poslužitelju. Ideja baze na poslužitelju je omogućiti većem broju korisnika međusobno korištenje resursa (bar kodova) kako bi se mogao skenirati što veći broj proizvoda. Interna baza služi za skeniranje artikala čija informacija je pospremljena lokalno u slučaju da pristup mreži nije omogućen. Ova baza podataka sastoji se od 3 vrste podatka: ID-a propadajućeg bar koda (redni broj bar koda), brojčane vrijednost bar koda i putanje do audio zapisa tog bar koda (mjesta gdje je pohranjen u memoriji uređaja). Eksterna baza sadrži .mp3 datoteke imena brojčane vrijednosti bar koda kojeg tražimo u njoj.

Većinski dio projekta surađivao sam s kolegicom Zrinkom i tako smo si uzajamno pomagali oko izrade programske podrške. Prvo dio projekta sastojao se od proučavanja primjera o bazama podataka. Nakon shvaćanja da se više manje implementacija svake baze može izvesti šablonski, posao je bio puno lakši.

Nakon definiranja imena aplikacije i dogovora o tome kako će izgledati (logo i sam vizualni izgled) s ostalim članovima tima krenuo sam u obavljanje svojeg projekta. Kreirao sam 4 klase unutar projekta koje služe za rad s bazama podataka i to su: klasa DbAdapter, klasa CommonDbAdapter, klasa BarcodeDbAdapter te klasa ConfigDbAdapter. Opisi ovih klasa mogu se pronaću u dokumentaciji.

Nakon uspješno napisanog koda bilo je potrebno provjeriti njegovu funkcionalnost, odnosno pospremaju li se podaci unutar baze i može li se njima pristupiti.

Ograničenja

Nepoznavanje programskog jezika Java i korištenih programskih alata. Na početku je bilo potrebno proširiti samo bazično znanje o bazama podataka. Ukoliko nije omogućen pristup mreži, sadržaj interne baze možda neće sadržavati traženi artikl.

Rezultat

Planirani ciljevi su ostvareni: stvaranje obje baze te mogućnost pohrane i čitanje podataka iz njih. Upoznao sam se sa bazama podataka općenito, te s osnovama programskog jezika Java. Same po sebi baze podataka omogućuju funkcionalno korištenje aplikacije što je i bio cilj ovog projekta. Daljnjim razvijanjem moguće je ukloniti problem sinkronizacije interne baze podataka s bazom na poslužitelju. Naime ako mobilni uređaj nema pristup internetu, te se traženi artikl ne nalazi u internoj bazi, a nalazi se na poslužitelju, nakon uspostave internetske veze interna baza se ne nadopuni s novim artiklima automatski.