Näytä suppeat kuvailutiedot

Android-sovelluksen koodin ja arkkitehtuurin uudistaminen

Jalava, Elisa (2019)

dc.contributor.authorJalava, Elisa
dc.date.accessioned2019-06-06T07:54:09Z
dc.date.available2019-06-06T07:54:09Z
dc.date.issued2019-
dc.identifier.urihttp://www.theseus.fi/handle/10024/185308
dc.description.abstractInsinöörityössä Android-sovellus uudistettiin koodipohjalta. Tarkoituksena oli päivittää sen tietokanta ja käyttöliittymä käyttäen Androidin arkkitehtuurikomponentteja. Sovelluksen arkkitehtuurista oli tarkoitus saada selkeää ja koodista luettavaa, jotta uusia ominaisuuksia pystyttäisiin toteuttamaan. Sovelluksessa käytettiin aluksi kovakoodattua SQLite-tietokantaa. Perinteisen SQLiten ollessa työläs käsitellä, ei tietokannan rakennetta pystytty päivittämään. Uusia ominaisuuksia varten tietokanta piti päivittää uuteen versioon ja vanha koodi uudistettava. Uudistukseen käytettiin Googlen tarjoamaa Room-arkkitehtuurikomponenttia. Room on ORM-tyylinen abstrakti kehys SQLiten ylle. Se mahdollistaa tehokkaan yhteyden Java-koodin ja SQLite-tietokannan välillä muuttamalla tietokantahaun tuloksia Java-objekteiksi ja Java-objekteja tietokantaobjekteiksi. Migraatio aloitettiin luomalla jokaiselle tietokantataululle omat Entity- ja DAO-luokkansa. Entity-luokat toimivat tietokantataulujen malleina, jotta Room voi annotaatioiden avulla luoda niistä Java-olioita. DAO-luokat tarjoavat abstraktit metodit tietokannan kanssa työskentelemiseen. DAOt yhdistetään RoomDatabase-olioon, joka rakennetaan sovelluksen ajon alussa ja suorittaa migraatiot. Tämän sovelluksen migraatio oli kaksivaiheinen. Tietokanta liitetään näkymään joko kontrollerin tai ViewModelin kautta. Kontrolleri sisältää metodit yleisille tietokantatoiminnoille. ViewModel tarjoaa näkymälle tarkkailijan, joka tarkkailee tietokantakyselyä tai -oliota. Muutoksen tapahduttua näkymää huomautetaan ja UI-päivitys tehdään. Tarkkailtavat ovat LiveData-objekteja, jotka sisältävät kyselyn tuloksen. Jokaiselle näkymäfragmentille tehtiin oma malliluokkansa. Mallit ovat elinkaaririippuvaisia: ne ovat aktiivisina silloin, kun näkymä on. Tuloksena sovelluksen jatkokehittäminen on sujuvampaa.-
dc.language.isofin-
dc.rightsCC BY-ND 4.0-
dc.titleAndroid-sovelluksen koodin ja arkkitehtuurin uudistaminen-
dc.type.ontasotfi=AMK-opinnäytetyö|sv=YH-examensarbete|en=Bachelor's thesis|-
dc.identifier.urnURN:NBN:fi:amk-2019060515041-
dc.subject.specializationOhjelmistotuotanto-
dc.subject.degreeprogramfi=Tieto- ja viestintätekniikka|sv=Informations- och kommunikationsteknik|en=Information and Communications Technology|-
dc.subject.ysoAndroid-
dc.relation.contractorElisa Jalava-
dc.subject.disciplineTieto- ja viestintätekniikan tutkinto-ohjelma-


Tiedostot

Thumbnail

Viite kuuluu kokoelmiin:

Näytä suppeat kuvailutiedot