Concurrency in Android
Parviainen, Janne (2012)
Parviainen, Janne
Tampereen ammattikorkeakoulu
2012
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201204214765
https://urn.fi/URN:NBN:fi:amk-201204214765
Tiivistelmä
Haltu Oy on suhteellisen nuori toimija yrityksenä, jonka erikoisalaa on web- ja Android-kehitys. Työtuntien ja aikataulujen kanssa on jokaisessa yrityksessä paineita eikä varaa ylimääräisiin ja odottamattomiin yllätyksiin monesti ole. Tämän takia sovelluskehitysprosessin hiominen mahdollisimman tehokkaaksi on erittäin arvokas voimavara. Haltu nuorena yrityksenä ei myöskään ole vielä kangistunut kaavoihin ja tiettyihin toimintamalleihin, vaan on avoin ja halukas kehittämään omia mallejaan työntekijöiden ja yrityksen eduksi.
Android-kehityksessä täytyy ottaa huomioon tietyt mobiilialustan tuomat erityispiirteet ja vaatimukset, jotka työssä myös käsitellään. Kyseisten vaatimusten sovittaminen asianmukaisen moniajon rakentamiseen tehokkaasti tarjoaa lähtökohdat tälle työlle, joka keskittyy tarjoamaan tietoa relevanteista komponenteista ja tekniikoista ja näin ollen osaltaan tehostamaa koko kehitysprosessia valmiiseen sovellukseen saakka. Keskeisimmät Javan ja Android-kirjaston komponentit käydään läpi sekä niiden toimintaa havainnoillistetaan koodiesimerkein ja pohditaan niiden käyttötarkoituksia yksityiskohtaisesti. Lopuksi esitetään suunnitteluprosessi moniajon toteutuksesta aina vaatimusmäärittelystä toteutukseen ja lisäksi pohditaan mitä näkökohtia on hyvä ottaa huomioon, jotta lopputulos on mahdollisimman tarkoituksenmukainen ja tehokas, tarjoten mahdollisesti koodin uudelleenkäytettävyyttä sekä ylläpitotaakan keventämistä.
Työn tavoite on tutkia ja tuoda esiin syventävää tietoa käytössä olevista komponenteista sekä esittää mallia prosessista, jonka tuloksena on tehokas ja vaatimukset täyttävä moniajo. Tällainen moniajo ei tuota ylimääräistä työtä alati muuttuvien vaatimusten ja ilmenneiden ongelmien johdosta vaan on selkeä ja itsenäinen osa sovelluksen rakennetta. Tarkoituksena on tehostaa sovelluskehitysprosessia ja tarjota näkemystä moniajon rakennukseen, jolloin voidaan tehostaa kehitysprosessia ja säästää siihen käytettäviä resursseja
Käytännön työnä opinnäytetyöhön liittyi turvakamerasovelluksen toteutus, joka mahdollistaa palveluun kirjautumisen, saatavilla olevien kameroiden kuvien sekä lokitietojen tarkastelun. Verkkoliikenne web-rajapinnan kanssa toteutettiin moniajona, jolloin sovelluksen käyttöliittymä pystyi tarjoamaan relevanttia tietoa käyttäjälle sovelluksen ajankohtaisesta toiminnasta.
Android-kehityksessä täytyy ottaa huomioon tietyt mobiilialustan tuomat erityispiirteet ja vaatimukset, jotka työssä myös käsitellään. Kyseisten vaatimusten sovittaminen asianmukaisen moniajon rakentamiseen tehokkaasti tarjoaa lähtökohdat tälle työlle, joka keskittyy tarjoamaan tietoa relevanteista komponenteista ja tekniikoista ja näin ollen osaltaan tehostamaa koko kehitysprosessia valmiiseen sovellukseen saakka. Keskeisimmät Javan ja Android-kirjaston komponentit käydään läpi sekä niiden toimintaa havainnoillistetaan koodiesimerkein ja pohditaan niiden käyttötarkoituksia yksityiskohtaisesti. Lopuksi esitetään suunnitteluprosessi moniajon toteutuksesta aina vaatimusmäärittelystä toteutukseen ja lisäksi pohditaan mitä näkökohtia on hyvä ottaa huomioon, jotta lopputulos on mahdollisimman tarkoituksenmukainen ja tehokas, tarjoten mahdollisesti koodin uudelleenkäytettävyyttä sekä ylläpitotaakan keventämistä.
Työn tavoite on tutkia ja tuoda esiin syventävää tietoa käytössä olevista komponenteista sekä esittää mallia prosessista, jonka tuloksena on tehokas ja vaatimukset täyttävä moniajo. Tällainen moniajo ei tuota ylimääräistä työtä alati muuttuvien vaatimusten ja ilmenneiden ongelmien johdosta vaan on selkeä ja itsenäinen osa sovelluksen rakennetta. Tarkoituksena on tehostaa sovelluskehitysprosessia ja tarjota näkemystä moniajon rakennukseen, jolloin voidaan tehostaa kehitysprosessia ja säästää siihen käytettäviä resursseja
Käytännön työnä opinnäytetyöhön liittyi turvakamerasovelluksen toteutus, joka mahdollistaa palveluun kirjautumisen, saatavilla olevien kameroiden kuvien sekä lokitietojen tarkastelun. Verkkoliikenne web-rajapinnan kanssa toteutettiin moniajona, jolloin sovelluksen käyttöliittymä pystyi tarjoamaan relevanttia tietoa käyttäjälle sovelluksen ajankohtaisesta toiminnasta.