Lokasjons- og kontekstbaserte tjenester - Department of Computer ...
Lokasjons- og kontekstbaserte tjenester - Department of Computer ...
Lokasjons- og kontekstbaserte tjenester - Department of Computer ...
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.