MobiilikehitysArkisto

SharedPreferences-luokka Androidissa

Hei kaikille! Tässä artikkelissa käsittelemme Androidin SharedPreferences-luokkaa. Android tarjoaa useita tapoja tallentaa sovelluksen tietoja, ja SharedPreferences on niistä yksi…

SharedPreferences-luokka Androidissa

Hei kaikille! Tässä artikkelissa käsittelemme Androidin SharedPreferences-luokkaa.

Android tarjoaa monia tapoja tallentaa sovelluksen tietoja, ja SharedPreferences-luokka on niistä yksi. Sen avulla voit tallentaa alkeistietotyyppejä, kuten kokonaislukuja (integer), merkkijonoja (string) ja totuusarvoja (boolean).

SharedPreferences-luokassa tietoja tallennetaan ja haetaan avain-arvo-pareina (key-value pair). Jos haluat esimerkiksi tallentaa kokonaisluvun, tallennat luvun lisäksi siihen liitettävän avaimen.

Luokan avulla voidaan tallentaa suhteellisen pieniä tietomääriä, ja tallennettuun tietoon pääsee käsiksi mistä tahansa sovelluksen osasta.

Missä SharedPreferences-luokkaa sitten käytetään, ja missä tilanteessa sen käyttö on parempi vaihtoehto?

SharedPreferences-luokkaa voidaan hyödyntää erityisesti silloin, kun sovelluksesta poistutaan yllättäen. Androidissa sovelluksesta toiseen voi vaihtaa: kesken käytön voi tulla puhelu tai viesti, tai saatat haluta tarkistaa toisen sovelluksen. Näiden siirtymien aikana sovellus voi sulkeutua, pysähtyä (pause) tai siirtyä taustalle. Näissä tilanteissa sovelluksen tiedot voi olla tarpeen tallentaa, ja siihen SharedPreferences-luokka soveltuu hyvin.

Ajatellaanpa esimerkiksi Android-peliä: jos joudut poistumaan pelistä äkillisesti, voit tallentaa viimeisimmän pistemääräsi. Kun pelaamisen aikana tulee puhelu ja vastaat siihen, pelisovelluksessa suoritetaan onPause- tai onStop-metodi. Kun palaat peliin, sinun pitäisi voida jatkaa siitä, mihin jäit, viimeisimmällä pistemäärälläsi. Voit käyttää SharedPreferences-luokkaa juuri tällaisen tiedon – kuten viimeisimmän pistemäärän, ennätystuloksen tai pelitason – tallentamiseen.

Toinen esimerkki on kirjautuminen. Useimmissa sovelluksissa on kirjautumisnäkymä, johon käyttäjä syöttää käyttäjätunnuksen ja salasanan. Jos käyttäjä ei halua kirjoittaa tietoja joka kerta uudestaan, hän voi valita ”Muista minut” -valintaruudun. Tällöin sovellus tallentaa tiedot, joten käyttäjän ei tarvitse kirjoittaa käyttäjätunnusta ja salasanaa uudelleen sovellukseen palatessaan: sovellus muistaa ne ja täyttää tarvittavat kentät automaattisesti.

Voit tallentaa tällaiset tiedot SharedPreferences-luokan avulla. Ominaisuus helpottaa käyttäjän asiointia sovelluksessa.

Kolmas esimerkki liittyy sähköposti- tai viestisovelluksiin, joissa käyttäjä voi kirjoittaa pitkiä tekstejä. Jos käyttäjän on kesken kirjoittamisen poistuttava sovelluksesta tai vaihdettava toiseen sovellukseen, teksti ei saa kadota. Käyttäjän kirjoittama teksti voidaan tallentaa SharedPreferences-luokan avulla ennen kuin hän poistuu sovelluksesta. Kun hän palaa, tiedot haetaan takaisin ja hän voi jatkaa siitä, mihin jäi.

SharedPreferences-luokkaa voi siis käyttää myös tällaisissa sovelluksissa.

SharedPreferences-luokka on siis tärkeä Android-kehittäjille. Ominaisuus kannattaa opetella ja ottaa käyttöön. Nähdään seuraavassa artikkelissa!

Kadir Yapar

Ohjelmistokehittäjä

Ohjelmistokehittäjä, jolla on tietotekniikan maisterin tutkinto. Hän on erikoistunut Android-, iOS- ja web-sovelluskehitykseen.

Näytä kaikki kirjoittajan Kadir Yapar artikkelit