17.11.2012 Views

Lokasjons- og kontekstbaserte tjenester - Department of Computer ...

Lokasjons- og kontekstbaserte tjenester - Department of Computer ...

Lokasjons- og kontekstbaserte tjenester - Department of Computer ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

F FUNKSJONER 15<br />

dette. I tillegg er det to grunner til at vi valgte ˚a kjøre denne funksjonen som en<br />

egen tr˚ad, den første er at det lar oss endre prioritet p˚a oppgaven. <strong>og</strong> den andre<br />

er at brukergrensesnittet er responsivt selv om pr<strong>og</strong>rammet kontinuerlig sjekker<br />

hvor det befinner seg.<br />

Funksjonen har to tilstander, den ene er “beregn hvor jeg er” <strong>og</strong> den andre er<br />

“finn beste signal”, <strong>og</strong> den kan bare befinne seg i en tilstand av gangen. Dette for ˚a<br />

utnytte ventetiden det tar˚a beregne lokasjonen bedre. For˚a ta den siste tilstanden<br />

først, leser den signalet (eg. en sample) hvert andre sekund <strong>og</strong> sammenligner dette<br />

med forrige avlesning. Er siste signal bedre, blir dette satt til gjeldene <strong>og</strong> det<br />

gamle fjernet, hvis ikke er det gamle gjeldende. Den første tilstanden tar det beste<br />

signalet <strong>og</strong> sammenligner dette med alle som er lagret i databasen <strong>og</strong> returnerer<br />

en tabell som inneholder alle aktive lokasjoner (lokasjoner kan slettes <strong>og</strong> er dermed<br />

ikke aktive) <strong>og</strong> en tilhørende poengsum. Den lokasjonen som har minst poengsum,<br />

0 betyr et eksakt treff, er den lokasjonen pr<strong>og</strong>rammet tror den befinner seg p˚a.<br />

F.2 Viktige funksjoner i informasjonsdel<br />

I tillegg til funksjonene i lokasjonsdelen, er det (s˚a langt) en viktig funksjon i<br />

informasjonsdelen. Den er avhengig av andre funksjoner som forklart i F.1 <strong>og</strong><br />

noen mindre viktige funksjoner i informasjonsdelen. Disse er ikke tatt med for ˚a<br />

forenkle forst˚aelsen. Funksjonen er forklart i avsnittet under, sammen med noen<br />

administrative funksjoner som er nødvendig for ˚a legge inn ny kontekstavhengig<br />

informasjon.<br />

Public Sub FindContext(ByVal ID As String) Som beskrevet i F.1 er det<br />

opp til lokasjonsdelen˚a finne ut hvor klienten befinner seg. N˚ar det skjer en endring<br />

i kontekst (dvs. at klienten har beveget seg inn i et nytt omr˚ade), eller etter et<br />

gitt tidsintervall kaller pr<strong>og</strong>rammet FindContext med identifikatoren til gjeldende<br />

fingeravtrykk. Dette er nok til at FindContext kan finne hva slags informasjon som<br />

er aktuell, <strong>og</strong> presentere denne til brukeren.<br />

Public Sub addInfo(ByVal ScopeLevel As String, ByVal ScopeID As<br />

String, ByVal Name As String, ByVal Type As String, ByVal Info As<br />

String, ByVal URL As String)<br />

Denne funksjonen lar brukeren lagre informasjon, <strong>og</strong> knytte denne til en, eller flere,<br />

lokasjoner. Prototypen lar brukeren legge inn hvilken lokasjon som skal relateres<br />

til informasjonen, samt informasjon som: Navn, alternativ beskrivelse <strong>og</strong> URL.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!