Ideasuunnitelma

(edit: sisällytetty vastaukset tehtäviin h6 ja h7 kurssin sivulta)

Suunnitelmani syksyn 2013 Mobiilituotekehitys-kurssin lopputyöksi.

Tiedot

– nimi: saveVisits

– appin avulla käyttäjä voi helposti tallentaa senhetkisen sijaintinsa muistipaikaksi, sekä liittää ottamiaan kuvia, paikan nimen ja yläkategorian organisointia varten

– kohderyhmänä on erityisesti ulkomailla matkustavat, jotka haluavat helposti kirjata ylös vierailemansa paikat.

– App tulee hyödyntämään camera-apia, geolokaatiota, SQLiteä, connection apia ja Google maps apia karttanäkymää varten.

– App tulee kilpailemaan Google places -sovelluksen kanssa, mutta reittiseurannan puutteen app tulee korvaamaan yksinkertaisella käyttöliittymällä ja mahdollisuudella tallentaa kuvia vierailupaikoista

– Haasteena tulee olemaan karttakuvien järjestäminen ja hakeminen nettiyhteydellä, minkä aion ratkaista asetuksella, jossa käyttäjä saa päättää, ottaako api yhteyttä nettiin.

MockUp-kuvat

Home view

Home view

”kotinäkymä”. Nappia painamalla sovellus tallentaa nykyisen sijainnin talteen

List view of app

List view of app

sijainnit listautuvat palkeiksi, joihin käyttäjä voi tallentaa nimen, määritellä yläkategorian, nähdä pikkukuvakkeina sijainnissa ottamansa kuvat ja oikealla olevasta karttapallosta napsauttamalla avata sijainnin karttanäkymän.

Picture of map view in app

Picture of map view in app

karttanäkymä, käyttäjä näkee missä sijainti on ja tarkistaa esimerkiksi osoitteen kartalta.

Kohderyhmä

Sovellus pyrkii toimimaan matkailijan työkaluna. Käyttäjä voisi esimerkiksi ulkomaanmatkallaan haluta suositella kaverilleen ravintolaa, jossa kävi aiemmin, muttei muista paikan nimeä eikä osoitetta. Silloin riittää että hänellä on Android-kännykkäänsä asennettuna ja käynnistettynä sovellus, jolloin riittää että painaa aloitusruudun isoa painiketta ravintolassa ollessaan ja nimeää lokaation. Sovelluksen etuna on helppokäyttöisyys ja nopea käyttöönotto, mikä varsinkin matkaillessa on suuri etu paikasta toiseen liikkuessa.
Näyttäessään karttakuvan kaverilleen, käyttäjä tulee samalla esitelleeksi myös sovelluksen hänelle, jolloin kaveri saattaa myös innostua käyttämään sitä, varsinkin positiivisen käyttökokemuksen myötä.
Sovellus myös helpottaa kuvien lajittelemista, kun käyttäjä haluaa etsiä juuri tietystä paikasta ottamiaan valokuvia galleriasta selaamisen sijaan, esimerkiksi Näsinneulan huipulta tai Porvoon vanhalta kaupungilta. Käyttäjä haluaa mahdollisesti myös näyttää nopeasti kaverilleen esimerkiksi patsaasta ottamansa kuvan. Ensimmäinen mieleen tuleva asia kuvasta on todennäköisesti paikka, jossa kuva on otettu, jolloin se löytyisi helposti esimerkiksi Pietari -> patsas-lokaatio -> patsaskuva.jpg -polusta. Samalla käyttäjä tulee esitelleeksi kaverilleen myös sovelluksen kuvanhallintaominaisuutta, mikä osaltaan voi innostaa kaveria lataamaan itselleen sovelluksen.

kilpailu

Google Playsta löytyy useita navigaatiosovelluksia, jotka mahdollistavat oman sijainnin tallennuksen listaksi, mutta tarjoavat samalla muutkin karttasovelluksiin liittyvät ominaisuudet sekä aktiivisen karttatilan, jolloin käyttöliittymästä tulee monimutkainen käyttää ketterää ja helppoa käyttöä ajatellen. Sovellukseni pyrkiikin tarjoamaan tämän ominaisuuden mahdollisimman yksinkertaisena (sovelluksessa paina nappia ja koordinaatit tallentuvat listaan, kartta tulee näkyviin vasta listalta painaessa). En löytänyt muita sovelluksia, jotka tarjoaisivat mahdollisuutta linkittää kuvagallerian ja sijaintitiedot toisiinsa, mikä saattaa osoittautua merkittäväksi kilpailueduksi sovellukseni kohdalla.

Rajapintojen ja työkalujen testaus

Sain tehtäväksi tehdä ”Hei ominaisuus” -esimerkkitestit lopputyön vaatimista rajapinnoista ja työkaluista.
Tarvitsemani työkalut ovat siis:
– camera-api
– connection -api
– geolocation -api
– SQLite eli Storage -api
– Google Maps Api

Käytän pohjana cordova-sivulta löytyviä esimerkkejä, sekä Google Maps Apia varten
löytyvää tutoriaalia.

esimerkkitestejä varten minulla on valmiina tutoriaalin mukaisesti asennettuna Windows 7 -koneelleni Eclipse Kepler + Android SDK + Phonegap 2.1.0

avaan valmiissa android-projektissani olevan index.html-tiedoston ja kopioin sinne löytyvän Full Example -koodin.

Käynnistäessäni AVD:n ja ohjelman käynnistyttyä klikatessani ”get photo” -painiketta, kamerasovellus käynnistyy kuten pitääkin, joten Api toimii odotetusti.
Androidin camera-sovellus kuitenkin kaatuu koska se ei kykene löytämään kameralaitetta, mikä johtuu siitä etten ole sellaista AVD:lle määritellyt luonti-ikkunassa.
Tämä seikka ei siis pitäisi vaikuttaa itse camera apin toimintaan.

view of camera api example in AVD-device

view of camera api example in AVD-device

Seuraavaksi kokeilin Connection -apin toimintaa kopioimalla index.html-tiedostoon oheisen linkin Full example -esimerkkikoodin

Apin käynnistyessä alert-ikkuna ilmoittaa yhteystyypiksi 3G-yhteyden, mikä pitää paikkansa sillä AVD uskottelee androidille käyttävänsä pakettidatayhteyttä. Tämäkin API
siis toimii.

view of Connection api in AVD

view of Connection api in AVD

Seuraavana vuorossa oli geolocation, jonka Full Example-esimerkki löytyy täältä

Sovellus tulosti AVD:ssä virheilmoituksen ”code 2, the last location provider was disabled” mikä viittaisi siihen, ettei AVD-laitteella pysty testaamaan geolokaatio-ominaisuutta.
Tämän Apin testaus pitää siis suorittaa oikealla android-puhelimella, joten en saanut tämän apin toiminnasta varmuutta lainkaan.

error message from Geolocation Api in AVD

error message from Geolocation Api in AVD

Seuraavaksi testasin storage apin eli SQLiten toiminnan kopioimalla full-example-koodin
Esimerkki luo uuden tietokannan, luo DEMO-taulun, lisää sinne sarakkeiksi ”1, first row” ja ”2, second row” -arvot ja tulostaa ne console.login kautta. Logista löytyi
mainitut rivit tulostettuina oheisen kuvan mukaisesti, joten SQLiten voidaan todeta toimivan kaikissa vaiheissaan (Create, Insert ja Query).

Output from SQLite example

Output from SQLite example

Lopuksi kokeilin vielä Google Maps Apin toimintaa, joka toimii suoraan javascriptilla. Liitin index.html:n w3schoolista löytyneen esimerkkikoodin, joka luo karttanäkymän
div-elementtiin lontooseen keskitettynä.
Elementin leveydeksi tuli hieman isompi kuin AVD:n leveys, joten lontoo vaikuttaisi olevan hieman liian oikealla. Api kuitenkin toimi kuten pitikin.

Picture of Google Map Api DIV-element

Picture of Google Map Api DIV-element

Mainokset

About Krister Holmström

Opiskelen Haaga-Heliassa Tietojenkäsittelyn koulutusohjelmassa. Kerään kotitehtäviini ja projekteihin liittyviä raportteja ja materiaaleja blogiini, jotta tieto olisi helpommin saatavilla.

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out /  Muuta )

Google photo

Olet kommentoimassa Google -tilin nimissä. Log Out /  Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out /  Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out /  Muuta )

Muodostetaan yhteyttä palveluun %s

%d bloggers like this: