Android-sovelluskehitys – Mobiilisovelluksen suunnittelu, toteutus ja julkaisu

Artikkeli perustuu ohjelmistotekniikan opinnäytetyöhön, jonka aiheena oli työajanseurantamobiilisovelluksen suunnittelu ja toteuttaminen sekä julkaiseminen sovelluskaupassa. Älypuhelin kulkee ihmisten mukana joka paikkaan. Parhaassa tapauksessa älypuhelimet voivat helpottaa ja nopeuttaa ihmisten arkisia askareita. Yksi työssäkäyvien jokapäiväisistä askareista on työtuntien kirjaaminen, mikä saattaa kuitenkin joskus unohtua. Älypuhelimella käytettävä työajanseurantamobiilisovellus saattaisi olla ratkaisu ongelmaan.

Opinnäytetyön tavoitteena oli luoda kalenteripohjaista työajanseuranta-palvelua varten mobiilisovellus työmerkintöjen ja työtehtävien kirjaamisen avuksi ja työntekijöiden arjen helpottamiseksi sekä julkaista sovellus sovelluskaupassa.

Kirjoittajat: Toni Heikkilä ja Matti Welin

Android-mobiilikäyttöjärjestelmä

Android on ilmainen ja avoimeen lähdekoodiin perustuva mobiilikäyttöjärjestelmä. Tämä tarkoittaa sitä, että kehittäjät ja laitevalmistajat voivat kustomoida käyttöjärjestelmää omien tarpeidensa mukaisesti. Androidin kehittäminen alkoi vuonna 2003 Android Inc. -nimisessä yrityksessä, jonka Google osti vuonna 2005. Vuonna 2007 perustettiin teknologiayritysten liitto OHA (Open Handset Alliance), johon kuuluvat Googlen lisäksi muun muassa laitevalmistajat Samsung, Sony ja HTC, teleoperaattorit Sprint ja T-Mobile sekä piirisarjojen valmistajat Qualcomm ja Texas Instruments. Liiton tarkoituksena on kehittää sekä Androidia että mobiililaitteiden avoimia standardeja. Ensimmäinen Android-käyttöjärjestelmää käyttävä älypuhelin, HTC Dream, tuli markkinoille vuoden 2008 lopulla. (TechRadar 2008.)

Samaan aikaan ensimmäisen älypuhelimen kanssa julkaistiin Androidin 1.0-versio. Tästä versiosta puuttui paljon nykyaikaisista älypuhelimista löytyviä ominaisuuksia, ja esimerkiksi tuki virtuaaliselle näyttönäppäimistölle tuli vasta kesällä 2009 Cupcake-nimisen 1.5-version yhteydessä. Vuosien aikanaAndroid-käyttöjärjestelmää on kehitetty uusien ominaisuuksien lisäksi parantamalla sen toiminnan sulavuutta sekä pienentämällä järjestelmän virrankulutusta. Jälkiruokien mukaan aakkosjärjestyksessä nimettävistä Android-versioista viimeisin on vuonna 2015 julkaistu Marshmallow-niminen 6.0-versio. (Gizmodo 2015.)

Android-sovelluskehitys

Sovellusten kehittäminen Androidille tapahtuu Googlen kehittämällä ja JetBrainsin IntelliJ IDEA -ohjelmistoon pohjautuvalla Android Studio -sovelluskehitysympäristöllä, jonka käyttöliittymä onesitetty kuviossa 1. Android Studio tarjoaa työkalut sekä itse ohjelmakoodin että sovelluksen ulkoasun luomiseen ja muokkaamiseen. Tämän lisäksi sen avulla voidaan muun muassa testata sovelluksia virtuaalilaitteissa emulaattorin avulla tai fyysisessä, tietokoneeseen yhdistetyssä laitteessa sekä luoda asennuspaketti sovelluksen asennusta ja Google Play -kauppaan julkaisemista varten. Android Studio – kehitysympäristö on käytettävissä maksutta. (Android Developers 2016b.)

welin111

Kuvio1. Android Studio -sovelluskehitysympäristö

Jokaisessa Android-sovelluksessa on oltava sovellusvaatimustiedosto. Sen avulla sovelluksesta esitetään tietoja ja vaatimuksia sekä Android-järjestelmälle että laitteelle. Sovellusvaatimustiedostossa nimetään kehitettävä sovelluspaketti, jonka avulla jokaiselle sovellukselle saadaan yksilöllinen tunniste. Lisäksi sovellukselle määritetään sovellusvalikossa näkyvä nimi ja kuvake sekä näkymä, jonka käyttäjä näkee ensimmäisenä käynnistäessään sovelluksen. Sovellusvaatimustiedostossa annetaan myös sovellukselle esimerkiksi paikannuspalveluiden ja kalenteritietojen rajapintojen käyttöön vaadittavat oikeudet.

Sovellukselle on myös määritettävä viimeisin Android-versio, jota se tukee. Sovelluksen on kannattavaa tukea niin vanhoja Android-versioita kuin ominaisuuksien puolesta on mahdollista saavuttaakseen mahdollisimman paljon käyttäjiä. (Android Developers 2016c.)

Android-kehityksessä sovelluksen käyttöliittymän näkymiä kutsutaan aktiviteeteiksi. Näiden avulla käyttäjät ovat vuorovaikutuksessa sovelluksen ja laitteiston toimintoihin. Sovellukset koostuvat useasta eri aktiviteetista, mutta sovelluksella on kuitenkin tyypillisesti pääaktiviteetti, joka on sovelluksen aloitusnäkymä. Aktiviteetit voivat käynnistää uusia aktiviteetteja, joissa suoritetaan erilaisia toimintoja.

Käynnistettävät aktiviteetit voivat olla myös jonkin toisen sovelluksen aktiviteetteja, jolloin kaikkia sovelluksen toiminnallisuuksia ei tarvitse luoda itse, vaan voidaan hyödyntää jo olemassa olevia sovelluksia. Tätä voidaan hyödyntää esimerkiksi kamerasovelluksessa, joka käynnistää sähköpostisovelluksen viestin lähetys -aktiviteetin juuri otetun kuvan jakamista varten. (Android Developers 2016a.)

welin222

Kuvio2. Aktiviteetti-pinon toiminta (Android Developers 2016e)

Androidin näkymät eli aktiviteetit kerääntyvät kuvion 2 mukaisesti pinoon, jonka päällimmäisenä on aktiivinen näkymä. Aktiviteetilla on kolme perustilaa. Edellä mainitun lisäksi aktiviteetti voi olla keskeytetty tai pysäytetty. Aktiviteetti on keskeytetty silloin, kun se on vielä näkyvissä, mutta toinen näkymä on kuitenkin aktiivisena. Tällainen tilanne tapahtuu silloin, kun jokin näkymä tai toiminto avataan ponnahdusikkunana. Aktiviteetti pysäytetään tapauksissa, joissa toinen aktiviteetti on yksinään näkyvissä käyttäjälle. Käytännössä pysäyttäminen tapahtuu käyttäjän siirtyessä sovelluksessa toiseen näkymään, vaihtaessa käytettävää sovellusta tai vastatessa esimerkiksi puheluun. Keskeytetyt ja pysäytetyt aktiviteetit ovat yhä järjestelmän muistissa, mutta ne voidaan kuitenkin tuhota järjestelmän toimesta, mikäli muisti on vähissä ja sitä on vapautettava muihin toimintoihin. Pinon päällimmäisenä oleva aktiviteetti tuhotaan ja poistetaan pinosta käyttäjän painaessa takaisin-painiketta, kuten kuviossa 2 tehdään tuhoamalla Activity 3 -niminen näkymä. Samalla edellinen aktiviteetti palautuu näkyväksi käyttäjälle. (Android Developers 2016a.)

Sovelluksen julkaiseminen sovelluskauppaan

Android-käyttöjärjestelmälle ladattavia mobiilisovelluksia jaetaan sovelluskaupoissa, joista suosituin on Google Play. Sovelluksien kauppaan julkaisua varten kehittäjän on ensin luotava Google Play -kehittäjätili. Kehittäjätilin voi liittää myös jo olemassa olevaan Google-tiliin. Rekisteröityminen kehittäjäksi maksaa 25 dollaria eli noin 22 euroa tämänhetkisen valuuttakurssin mukaan (Suomen Pankki 2016). Kehittäjätiliä luotaessa on päätettävä muun muassa kehittäjänimi, joka näkyy Google Play -kaupan käyttäjille. Muita pakollisia tietoja ovat yhteyshenkilön sähköpostiosoite ja maksullisten sovellusten yhteydessä myös lähiosoite. (Google Play Developer Console Help 2016a.)

Google Play -kauppaan kehittäjäkonsolin kautta lähetettävä sovelluksen asennustiedosto, jonka käyttäjät lataavat ja asentavat puhelimeensa, luodaan Android Studio -kehittäjäympäristön tarjoaman työkalun avulla (Android Developers 2016d). Google Play -kaupan kehittäjäkonsolin kautta sovellukselle määritetään monia asioita ennen sen julkaisua. Sovellukselle on muun muassa määritettävä nimi, oletuskieli, kirjallinen kuvaus, kuvakaappaukset ja kategoria. (Google Play Developer Console Help 2016c.) Kun kaikki tarvittavat tiedot on syötetty, se voidaan julkaista Google Play -kaupassa Googlen suorittaman käsittelyn jälkeen (Google Play Developer Console Help 2016b).

Pilottisovelluksen toteutus

Opinnäytetyössä toteutettuun työajanseuranta-mobiilisovellukseen luotiin työmerkintöjen kirjaamista helpottavia toimintoja. Sovelluksen avulla on esimerkiksi mahdollista kirjata kaikki tarvittavat merkinnät yhden näkymän kautta, kun normaalisti ne olisi kirjattava yksitellen. Lisäksi työtehtäviä luotaessa kalenteriin käyttäjällä on mahdollisuus lisätä tehtävän kesto automaattisesti päivän työtunteihin. Sovellus avautuu käynnistyessään kuvion 3 mukaiseen näkymään. Eri työmerkinnät, kuten työtunnit, kilometrit ja päivärahat, ovat tarkasteltavissa omilla välilehdillään. Oletuksena työmerkintöjä näytetään viimeisen viikon ajalta. Jokaisella välilehdellä on myös yhteenlaskettu esimerkiksi työtuntien tai kilometrien yhteismäärä valitulta aikaväliltä. Aloitusnäkymästä voidaan siirtyä kaikkiin sovelluksen toimintoihin, joita ovat kaikkien päivän työmerkintöjen kirjaaminen yhdessä näkymässä, yksittäisen työmerkinnän kirjaaminen ja tarkastelu sekä uuden tapahtuman tai työtehtävän lisääminen kalenteriin. Sovelluksen ulkoasussa on pyritty noudattamaan Android-käyttöjärjestelmän omaa yleistä ulkoasua.

welin33333333

Kuvio3. Sovelluksen aloitusnäkymä

Työajanseuranta-palvelu, jota varten mobiilisovellus on kehitetty, on kalenteripohjainen, jolloin kaikki työmerkinnät tehdään kalenteriin. Näin ollen sovelluksessa hyödynnetään Android-käyttöjärjestelmän tarjoamaa kalenterirajapintaa. Se mahdollistaa pääsyn puhelimeen lisättyihin kalentereihin ja niiden merkintöihin turvallisesti. Kalenterirajapinnan avulla kalenterimerkintöjä voidaan luoda, muokata ja poistaa tai vaihtoehtoisesti ainoastaan tarkastella. Kalenterirajapinnan käytön lisäksi sovelluksessa käytetään paikannuspalveluita uuden kalenterimerkinnän luomisen yhteydessä. Käyttäjän on mahdollista paikantaa nykyinen sijaintinsa ja lisätä paikkatieto uuden kalenterimerkinnän lisätieto-kenttään. Sijainnin paikantamisessa käytetään puhelimen tarjoamaa paikannusjärjestelmää, kuten GPS:ää.

Yhteenveto

Android on maailmanlaajuisesti tämän hetken suosituin mobiilikäyttöjärjestelmä lähes 70 prosentin markkinaosuudellaan. Applen iOS-käyttöjärjestelmän markkinaosuus on noin 20 prosenttia Microsoftin Windows Phonen jäädessä vajaaseen kahteen prosenttiin. Androidin markkinaosuus on ollut tasaisessa kasvussa koko sen elinkaaren ajan, mikä tekee sovelluksien kehittämisestä sille hyvin kannattavaa. (StatCounter 2016.)

Androidin seuraava Android N -työnimeä kantava versio julkaistaan vuoden 2016 syksyllä, ja se tuo mukanaan monia käyttöjärjestelmää parantavia ominaisuuksia. Uusia ominaisuuksia ovat muuan muassa parannettu virranhallinta, uudistettu ilmoituskeskus sekä mahdollisesti erillisen sovellusvalikon poistaminen. Uuden version kenties suurin ominaisuus on kuitenkin mahdollisuus avata sovellukset Windows-käyttöjärjestelmästäkin tutussa ikkuna-tilassa, jolloin useita sovelluksia voi olla näkyvissä samanaikaisesti. (Android Authority 2016.) Aika näyttää, haastaako Android näin ollen jopa perinteiset tietokoneiden käyttöjärjestelmät, ja mitä se tarkoittaisi perinteisen mobiilisovelluskehityksen kannalta.

Lähteet

Android Authority. 2016. Android N: new features overview [viitattu 3.5.2016]. Saatavissa: http://www.androidauthority.com/android-7-0-features-673002/

Android Developers. 2016a. Activities [viitattu 3.5.2016]. Saatavissa: http://developer.android.com/guide/components/activities.html

Android Developers. 2016b. Android Studio Overview [viitattu 3.5.2016]. Saatavissa: http://developer.android.com/tools/studio/index.html

Android Developers. 2016c. App Manifest [viitattu 3.5.2016]. Saatavissa: http://developer.android.com/guide/topics/manifest/manifest-intro.html

Android Developers. 2016d. Signing Your Applications [viitattu 3.5.2016]. Saatavissa: http://developer.android.com/tools/publishing/app-signing.html

Android Developers. 2016e. Tasks and Back Stack [viitattu 5.5.2016]. Saatavissa: http://developer.android.com/guide/components/tasks-and-back-stack.html

Gizmodo. 2015. A History of Android, From Cupcake to Marshmallow [viitattu 5.5.2016]. Saatavissa: http://gizmodo.com/a-history-of-android-from-cupcake-to-m-1707432419

Google Play Developer Console Help. 2016a. How to use the Google Play Developer Console [viitattu 3.5.2016]. Saatavissa: https://support.google.com/googleplay/android-developer/answer/6112435?hl=en

Google Play Developer Console Help. 2016b. Publish an app [viitattu 3.5.2016]. Saatavissa: https://support.google.com/googleplay/android-developer/answer/6334282?hl=en

Google Play Developer Console Help. 2016c. Upload an app [viitattu 3.5.2016]. Saatavissa: https://support.google.com/googleplay/android-developer/answer/113469?hl=en&ref_topic=3450986

StatCounter. 2016. Top 8 Mobile Operating Systems [viitattu 3.5.2016]. Saatavissa: http://gs.statcounter.com/#mobile_os-ww-monthly-200812-201605

Suomen Pankki. 2016. Valuuttakurssit – Yhdysvaltain dollari (USD) [viitattu 3.5.2016]. Saatavissa: http://www.suomenpankki.fi/fi/tilastot/valuuttakurssit/valuuttakurssit_(ekp)/pages/eurofxref-graphusd.aspx

TechRadar. 2008. A complete history of Android [viitattu 5.5.2016]. Saatavissa: http://www.techradar.com/news/phone-and-communications/mobile-phones/a-complete-history-ofandroid- 470327

Kirjoittajat:

Toni Heikkilä on opiskellut Lahden ammattikorkeakoulussa tekniikan alalla tieto- ja viestintätekniikkaa. Matti Welin toimii Lahden ammattikorkeakoulussa tekniikan alalla yliopettajana.

Lahti 24.5.2016

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *