Projektityö: Mobiiliajopäiväkirja Mikko Suomalainen
1. Määritelmä Mobiiliajopäiväkirja on kännyköille suunnattu ajopäiväkirja-sovellus. Sovelluksen pääperiaate on toimia automaattisena ajopäiväkirjana. Sovellus korvaa nykyisin käytössä olevat itse täytettävät sähköiset ja paperiset lomakkeet. Sovelluksen suosia perustuu yksinkertaisuuteen ja helppoon käytettävyyteen. Kännykät sopivat hyvin sovelluksen alustaksi, koska ne ovat yleisiä ja tulevaisuudessa lähes jokaisesta kännykästä löytyy sisäänrakennettu GPS. 1.1 Sovelluksen toimintaperiaate Sovellus kysyy käyttäjältä autolla liikkeelle lähdettäessä matkan tarkoituksen. Eli onko matka henkilökohtainen vai työmatka. Vastattaessa työmatka, alkaa sovellus mittaamaan kuljettua reittiä ja siihen käytettyä aikaa. Sovellus toimii kännykän taustalla, jolloin puhelinta voi käyttää normaalisti muuhunkin tarkoitukseen. Matkan päätyttyä käyttäjä kuittaa ohjelmalle tulleensa päämääräänsä, jolloin ohjelma tallentaa kuljetun matkan ja siihen käytetyn ajan sekä kuljetun reitin. Ohjelma lähettää tiedot palvelimelle, josta esimies saa helposti tiedot haltuunsa. Tiedoista näkee kuljettajan tiedot (jotka on tallennettu aikaisemmin sovellukseen), kuljetun reitin, siihen käytetyn ajan ja ajankohdan sekä matkan tarkoituksen. Sovelluksen on oltava helppokäyttöinen. 2. Tavoite Saada toteutettua projektityönä toimiva demoversio, joka mittaa kuljetun matkan sekä reitin ja siihen käytetyn ajan. 3. Suunnitelma Projekti pystyyn googlen versionhallintasovellukseen Tutustuminen UML-kieleen Sovelluksen arkkitehtuurin suunnittelu Testitapausten suunnittelu Käyttöliittymän koodaus o asetukset-form o matkan tarkoitus lista o ajoneuvo-form o piilotettavat valinnat valikossa aloita mittaus lopeta mittaus o
4. Toteutus 4.1 Versio 0.1 4.1.1 Tavoitteet mittaa ajan ja matkan sekä reitin tallentaa tulokset tiedostoon valikossa o syötä matkan tiedot o aloita mittaus o lopeta mittaus o mittaukset o asetukset o poistu Syötä matkan tiedot matkan tarkoitus ajoneuvo (auton rek.num.) Asetukset kuljettajan nimi yritys
Käyttöliittymä Tiedostoon tallennus Tiedostoon tallennetaan seuraavat tiedot: Kuljettajan nimi Yritys Ajoneuvo Matkan tarkoitus Lähtöaika Loppuaika Kokonaisaika Reitti Tiedostosta tehdään.tri-päätteinen. Tiedoston sisältö on seuraavanlainen, erottimena #:
pvm kellon aika Kuljettajan nimi Ajoneuvo Yritys Matkan tarkoitus Reittipisteet Ajettu matka Käytetty aika Sovellus toteutetaan siten, että käyttöliittymä toteutetaan erillään toiminnallisuudesta. Toiminnallisuus kootaan engine.dll pakettiin, joka sisällytetään mukaan käyttöliittymän lähdetiedostoihin. 4.1.2 Käyttöliittymän toteutus Omat luokat jokaiselle näkymälle: View (perusnäkymä/ alkutilanne) SettingsView (asetukset) TripPurposeListView (matkan tarkoitus lista) TripInfo (matkan tiedot) MeasureView (mittausnäyttö) Vasempaan softkey:hin Valikko. Oikeaan softkey:hin Poistu. Aloitusnäkymään tulostuu Mobby Bobby logo. Jos matkan tietoja ei ole asetettu tulostuu aloitusnäkymään teksti Syötä matkan tiedot. Jos asetuksia ei ole asetettu, tulostuu aloitusnäkymään teksti Aseta asetukset. Myöskään Aloita mittaus valinta ei ole näkyvissä valikossa, jos edellä mainitut askeleet ovat tekemättä. Jos matkan tiedot ja asetukset ovat asetettu, tulostuu aloitusnäkymään teksti Aloita mittaus. Tällöin myös Aloita mittaus valinta ilmestyy valikkoon. Myös puhelimen ok-näppäimestä voi tällöin aloittaa mittauksen. Kun mittaus aloitetaan, tulostetaan näytölle mittaukseen liittyvä informaatio. Valikossa on myös Lopeta mittaus valinta. Puhelimen ok-näppäin ei kuitenkaan lopeta mittausta. Tekstien tulostuksissa käytetään Arialfonttia, koko 10. 4.1.3 Mittauksen toteutus
Matkan mittaus toteutettiin aktiivi-olion avulla. Olio päivittää näytön ja kirjoittaa tiedostoon uuden koordinaation aina, kun paikka vaihtuu (koordinaatti päivittyy). Tiedot sisältävä tiedosto avataan ja suljetaan tietojen kirjoittamista varten aina uudestaan koordinaatin päivityksen yhteydessä. Toinen vaihtoehto olisi ollut kerätä paikkatietoja taulukkoon ja kirjoittaa tiedot kerralla tiedostoon ajon päätyttyä. Tämä tapa olisi kuitenkin vienyt enemmän käyttömuistia. Ja jos jostain syystä sovellus olisi kaatunut virhe tilanteeseen kesken ajon, olisi tiedot mahdollisesti menetetty. Tiedoston nimi koostuu mittauksen aloitushetken päivämäärästä ja kellonajasta minuutin tarkkuudella. 5 Jatkokehitys Sovelluksen jatkokehitysmahdollisuudet ovat rajattomat. Sovelluksesta voitaisiin tehdä muunnelmia eri tarkoituksiin, kuten esimerkiksi matkailijan päiväkirja. Versiosta 0.1 puuttuu ajojen tarkastelu puhelimessa. Ominaisuuden voisi lisätä seuraaviin versioihin. Matkan tarkoitus -listan täydentäminen ja uuden tarkoituksen lisäämismahdollisuus lisättävä seuraaviin versioihin. 6 Palvelinsovellus Sovelluksen tiedostojen lukemista varten olen kehittänyt palvelinsovelluksen, joka toimii nettiselaimessa. Tällä hetkellä palvelimelle ladataan matkan tiedot sisältävä tiedosto käsin, tulevaisuudessa ehkä jopa automaattisesti ajon päätyttyä. Sovellus listaa ajot taulukkoon, jonka voi tulostaa esimerkiksi verottajaa varten. Ajon tietoja voi myös tarkastella lähemmin, sovellus esimerkiksi piirtää kartalle ajetun reitin. Sovelluksessa on myös liikennekartta, joka kertoo tietyöt sekä muut liikenteen häiriötekijät sekä reittihakupalvelu.