SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 3692 PRAĆENJE AKTIVNOSTI POKRETNIH KORISNIKA Ivan Validžić Zagreb, lipanj 2014. Sadržaj Uvod ...................................................................................................................................... 1 1. Aktivnosti pokretnih korisnika ...................................................................................... 2 2. Model telekomunikacijskih usluga temeljen na aktivnostima pokretnih korisnika ...... 4 3. Operacijski sustav Android ........................................................................................... 5 3.1. Povijest .................................................................................................................. 5 3.2. Značajke................................................................................................................. 7 3.3. Arhitektura ............................................................................................................. 8 4. Razvojna okolina aplikacija za pokretne uređaje ........................................................ 10 4.1. Eclipse ................................................................................................................. 10 4.2. Android alati ........................................................................................................ 10 4.3. Osnovna struktura aplikacija ............................................................................... 12 4.4. Grafičko korisničko sučelje ................................................................................. 13 4.4.1. Datoteka XML ............................................................................................. 14 4.4.2. Datoteka AndroidManifest.xml .................................................................... 15 5. Ostale korištene tehnologije ........................................................................................ 17 5.1. JavaScript Object Notation ................................................................................. 17 5.2. Baza podataka Mongodb ..................................................................................... 18 6. Android aplikacija Top Contacts ................................................................................. 19 6.1. Arhitektura i izvedba sustava .............................................................................. 19 6.2. Implementacija programskog rješenja aplikacije ................................................ 21 6.2.1. Struktura projekta ........................................................................................ 21 6.2.2. Grafičko korisničko sučelje aplikacije ........................................................ 22 6.2.3. Top Contacts Manifest ................................................................................. 23 6.2.4. Implementacija klasa ................................................................................... 24 6.3. Korištenje aplikacije ............................................................................................ 26 Zaključak ............................................................................................................................. 31 Literatura ............................................................................................................................. 32 Sažetak ................................................................................................................................. 34 Summary .............................................................................................................................. 35 Skraćenice ............................................................................................................................ 36 Privitak ................................................................................................................................ 38 Uvod Pametni pokretni telefoni iz godine u godinu bilježe eksponencijalan rast prodaje te postaju sve zastupljeniji u svakodnevnom životu. Nekad su bili stvar luksuza, a danas rijetko tko ne posjeduje bar jedan takav uređaj. Mnogima je život bez pametnih telefona nezamisliv. On je od svojih primarnih funkcija slanja i primanja poruka te uspostave poziva evoluirao u malo pokretno računalo s vlastitim operacijskim sustavom, mnogim novim funkcijama i aplikacijama. Brojne mogućnosti i praktičnost pametnih telefona su dovele do nezaustavljivog rasta u razvoju aplikacija za pokretne uređaje, a tržište aplikacija je postalo jedno od najbrže rastućih grana industrije. Ponuda aplikacija je svakim danom sve veća i danas možemo naći aplikaciju za gotovo sve što poželimo: za zabavu, posao, vijesti, višemedijske usluge, komunikaciju, obrazovanje, itd. Iako je ponuda aplikacija na tržištu jako velika, neke aplikacije jednostavno još nisu napravljene. Jedna od takvih aplikacije je i tema ovog završnog rada, usluga Top Contacts. Aplikacija za pametne pokretne telefone Top Contacts je usluga koja prati komunikacijske aktivnosti korisnika te prikazuje popis ljudi s kojima smo najčešće u kontaktu. Cilj završnog rada je upoznavanje s brojnim programskim tehnologijama te stvaranje funkcionalne usluge na operacijskom sustavu Android. O cijelom ovom procesu se može pročitati u poglavljima koja slijede. Prvo poglavlje govori o aktivnostima pokretnih korisnika te načinima kojima se prikupljaju podaci iz uređaja. U drugom poglavlju se na temelju tih aktivnosti prikazao model aplikacije Top Contacts. Zatim je detaljno proučen operacijski sustav Android, njegova povijest i mnogobrojne značajke. Svi detalji o tome se nalaze u poglavlju 3. Iduće poglavlje govori o razvojnoj okolini za aplikacija za pokretne uređaje te što sve je potrebno prije nego što se počne s razvojem usluge. Treba biti dobro upoznat sa strukturom aplikacija te grafičkim korisničkim sučeljem, kako bi programska implementacija bila uspješna. Poglavlje 5 sadrži ostale tehnologije koje su korištene u razvoju aplikacije, a nisu isključivo povezane s Androidom. Konačno, uspješna implementacija i detalji o temi ovog završnog rada, aplikaciji Top Contacts, se nalaze u poglavlju 6. 1 1. Aktivnosti pokretnih korisnika Pametni pokretni telefoni su vrsta uređaja koja je opremljena sa skupom senzora koji individualno ili u kombinaciji predstavljaju bogat izvor podataka o korisniku i korisničkom kontekstu. Dodatno, korisnici na pametnim pokretnim telefonima mogu pokretati širok skup aplikacija za različite privatne i poslovne primjene. Kontekst u interakciji korisnika i aplikacije može se definirati kao skup informacija koje opisuju okružje u kojem se neki entitet nalazi. Entitet može biti osoba, mjesto ili bilo koji objekt koji ima određenu važnost u interakciji, uključujući i samog korisnika i aplikaciju. Kontekstne informacije omogućavaju prepoznavanje uvjeta u kojima se korisnik trenutno nalazi te njegovih potreba. Na temelju toga, korisniku je moguće pružiti odgovarajuće usluge koje su prilagođene upravo situaciji u kojoj se on nalazi. Takve usluge nazivaju se kontekstno-svjesne usluge (engl. context-aware services). Kontekstno-svjesne usluge pojavljuju se najčešće kao usluge na pokretnim uređajima. Pokretni uređaji su većinu vremena prisutni uz korisnika te upravo zbog toga imaju mogućnost preciznog određivanja konteksta u kojem se korisnik nalazi. Tome značajno doprinosi širok spektar različitih senzora i uređaja koji su ugrađeni u pokretni uređaj kao i povezanost s mrežom. Slika 1 prikazuje procese koji su prisutni u ostvarivanju općenite kontekstno-svjesne usluge. Pametni pokretni uređaj prikuplja podatke o okolini u kojoj se nalazi. Podatke može prikupiti samostalno ili uz pomoć drugih entiteta. Samostalno prikupljeni podaci su dobiveni korištenjem ugrađenih komponenti i senzora pokretnog uređaja kao što su GPS, žiroskop, akcelerometar, barometar i slično. Podaci prikupljeni pomoću drugih entiteta se temelje na nekom podatku izravno prikupljenom s uređaja. Primjerice na temelju podatka o lokaciji dobivenog od GPS-uređaja određuje se stanje vremenske prognoze korištenjem usluge weba. Prikupljeni podaci ulaze u proces pročišćavanja. U tom procesu izdvajaju se podaci koji su važni za pružanje odgovarajuće kontekstno-svjesne usluge. Analizom izdvojenih podataka stvara se model konteksta korisnika koji se potom obrađuje i postaje spreman za korištenje u kontekstno-svjesnim aplikacijama. Dobiveni podaci se spremaju za kasniju uporabu. 2 Slika 1 - Procesi u kontekstnoj svjesnosti [1] Prikupljanje podataka o kontekstu korisnika moguće je izvesti: ručnim unosom korisnika, automatski (korištenjem senzora) te korištenjem vanjskih resursa (veze prema drugim entitetima). Ručni unos predstavlja tradicionalan način prikupljanja podataka o korisniku te ga najčešće koriste aplikacije. Od korisnika se najčešće traži popunjavanje odgovarajućeg obrasca. Prednost ovog pristupa je relativno brz proces prikupljanja podataka, a nedostaci su zastarijevanje podataka ako ih korisnik ne osvježava redovito te odbojnost korisnika prema usluzi. Automatsko prikupljanje temelji se na senzorima koji su ugrađeni u sam uređaj. Pomoću senzora se otkrivaju podaci o fizičkom okružju korisnika koji mogu poslužiti kao dobra podloga za pružanje kontekstno-svjesne usluge. Osim toga, podaci se mogu prikupljati iz samog uređaja pomoću raznih aplikacija, koje također koriste podatke prikupljene senzorima. Slika 2 prikazuje načine prikupljanja podataka o kontekstu [1]. Slika 2 - Prikupljanje podataka o kontekstu [1] [2] 3 2. Model telekomunikacijskih usluga temeljen na aktivnostima pokretnih korisnika U sklopu ovog završnog rada, naglasak je na podacima prikupljenima iz pametnih pokretnih telefona, bez korištenja senzora uređaja. Podaci koje aplikacija Top Contacts prikuplja su poruke i pozivi. Telefonski kontakti obično su ograničeni samo na osobe koje korisnik dobro poznaje te s kojima redovito komunicira. U odnosu na usluge društvenih mreža koje su izrazito popularne zadnjih godina, poruke i pozivi pripadaju skupini podataka koji imaju veću težinu. U većini situacija, dodavanje nekoga na listu kontakata telefona je značajnije nego na primjer prihvatiti zahtjev za prijateljstvo na uslugama društvenih mreža [3]. Popis podataka čine atributi koje možemo dohvatiti za određeni telefonski kontakt, a vrijednostima pridružujemo težine s obzirom na važnost pojedine vrijednosti. Aplikacija Top Contacts za računanje izlaznih podataka koristi algoritam koji je prikazan u tablici (Tablica 1). A dio u tablici predstavlja identifikaciju prijatelja, B dio dohvaćene podatke, a C dio rezultat, odnosno mjeru za rangiranje prijatelja koju dobivamo formulom, u kojoj v označava vrijednost (engl. value), a w označava težinu (engl. weight): . Tablica 1 - Model za izračun ljudi s kojima najviše komuniciramo ATRIBUT VRIJEDNOST TEŽINA ID kontakta [broj pokretnog uređaja] - A ime kontakta u imeniku [ime kontakta u imeniku] - poruka [broj poruka] 1 propušten poziv [broj propuštenih poziva] 1.5 B dolazni poziv [broj dolaznih poziva] 2 odlazni poziv [broj odlaznih poziva] 2 [zbroj težina pomnoženih C rezultat - s vrijednošću] 4 3. Operacijski sustav Android Google Android je prvi otvoreni operacijski sustav za pokretne uređaje (mobilni telefoni, tableti, netbook računala, Google TV) pokrenut od strane Google Inc. i vođen od strane Open Handset Alliance - grupe koja danas broji preko 80 tehnoloških kompanija, čiji je cilj ubrzati inovacije na području operacijskih sustava za pokretne uređaje, a samim time ponuditi krajnjim kupcima bogatije, jeftinije i bolje iskustvo korištenja [4]. Android je modularan i prilagodljiv pa tako postoje slučajevi njegovog prenošenja na razne uređaje. Sadrži operacijski sustav, međuopremu1 i razne aplikacije za pokretne uređaje. Također, sadrži i velik broj API-ja2, koji neovisnim proizvođačima omogućuju izradu aplikacija [5]. 3.1. Povijest Android Inc. su osnovali Andy Rubin, Rich Miner, Nick Sears i Chris White u listopadu 2003. godine, kako bi razvijali programe za pametne mobilne uređaje koji bi uzimali u obzir korisničke postavke te njegovu lokaciju. Nakon dvije godine gotovo tajnog rada (jedino što je bilo poznato bilo je da se radi o softveru za pokretne uređaje), Google je odlučio kupiti Android te počinju spekulacije o ulasku Googlea na tržište pametnih telefona. Osnivači i ključni programeri, osnaženi Googleovim programerima, na tržište donose mobilnu platformu temeljenu na Linux kernelu3 koja bi trebala biti potpuno prilagodljiva zahtjevima korisnika. U studenome 2007. godine osnovana je Open Handset Alliance (OHA) s ciljem stvaranja javnog standarda za pokretne uređaje. Glavni inicijator i ovoga puta bio je Google koji je okupio 34 tvrtke iz različitih domena telefonske industrije poput proizvođača pokretnih telefona, programera aplikacija, telekomunikacijskih operatora i sličnih. 1 Međuoprema (engl. middleware) - softver koji djeluje između aplikacija i mreže 2 API (engl. Application Programming Interface) - aplikacijsko programsko sučelje 3 Kernel - jezgra operacijskog sustava 5
Description: