Android-sovelluskehitys

Android-sovelluskehitys on Android-sovellusohjelmien luomista. Android-sovellusten kehittämiseen suositeltu ohjelmointikieli on Kotlin vuodesta 2019 lähtien.[1][2] Myös Java on edelleen tuettu Android SDK -kehityspaketilla. Android-sovelluksia voi kehittää myös käyttäen C++ -ohjelmointikieltä ja Android NDK:ta. Näiden tekniikoiden lisäksi on mahdollista toteuttaa niin sanottuja "hybridisovelluksia". Hybridisovellukset toimivat useammalla käyttöjärjestelmällä, mutta eivät pärjää suorituskyvyssä Android SDK:lla ja NDK:lla tehdyille sovelluksille. Lisäksi Android-laitteen sisäisiin laitteisiin, kuten kameraan tai kiihtyvyysanturiin päästään käsiksi vain käyttäen SDK:ta tai NDK:ta.

Android Runtime (ART) on Android-alustalla käytettävä ajoympäristö, joka kääntää ohjelmat natiiville konekielelle.[3] ART on korvannut Dalvik-virtuaalikoneen Androidin versiosta 5.0 alkaen.[3][4]

Android-kehitystyökalutMuokkaa

Android SDK (Software Development Kit) on työkalu, jota käytetään natiivien Android-sovellusten kirjoittamiseen. Android SDK sisältää kaikki Android-sovelluksen luontiin tarvittavat kirjastot, mukaan lukien käyttöliittymäohjelmointiin tarvittavat kirjastot, sekä ADB (Android Debugging Tools) debuggaustyökalun. Android-sovellusten debuggaaminen tapahtuu yleisesti ADB:n avulla. ADB:tä voidaan käyttää komentoriviltä käsin tai graafisesta kehitysympäristöstä. Yleisimpiä Android-ohjelmointiin käytettyjä kehitysympäristöjä ovat Android Studio sekä Eclipse. Myös Pascaliin pohjautuvia ratkaisut voi käyttää Android-sovellusten kehittämisessä. Yleisimpiä Pascaliin pohjautuvia työkaluja Android-sovelluskehitykseen ovat Delphi ja Lazarus, joka pohjautuu Free Pascal -kääntäjään.

EsimerkkiMuokkaa

 
Esimerkkikoodin tulos Android-älypuhelimessa.

Esimerkki Androidin Activity:stä. Activity on luokka, joka tarvitaan Androidissa aina käyttöliittymän näyttämistä varten.

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // Näytetään pop-up, jossa teksti "Hello world!"
        Toast.makeText(this, "Hello world!", Toast.LENGTH_SHORT).show();
    }
}

TietoturvaMuokkaa

Jokainen Android-sovellus sijaitsee omassa hiekkalaatikossaan tietoturvan vuoksi:[5]

  • Android-käyttöjärjestelmä on usean käyttäjän Linux-käyttöjärjestelmä, jossa jokainen sovellus on eri käyttäjä
  • järjestelmä asettaa jokaiselle sovellukselle yksilöllisen tunnuksen, joka on vain järjestelmän käytössä ja sovellus ei sitä tunne: järjestelmä asettaa käyttäjäoikeudet siten, että vain sovellukseen liitetty tunnus voi niitä käyttää
  • jokaisella prosessilla on oma virtuaalikone, jolloin sovellukset suoritetaan eriytettyinä toisista sovelluksista
  • jokainen sovellus suoritetaan omassa prosessissa

Sovellukset asennetaan APK-pakettitiedostoina[5] tai Google Play -palveluun lähetettäväksi mahdollisesti myös Android App Bundle (.aab) -tiedostoina, joka on suositeltu muoto julkaistessa sovellusta[6].

Sovelluksen julkaiseminenMuokkaa

Yleisin paikka Android-sovelluksen julkaisemiselle on Google Play -kauppa. Tunnuksen tekeminen Play-kauppaan maksaa 25 dollaria. Maksulla Google pyrkii minimoimaan niin sanottujen roskasovellusten julkaisemista. Tunnusten luomisen jälkeen käyttäjä voi julkaista sovelluksia Play-kaupassa. Yleensä sovelluksen näkyviin tuleminen muille käyttäjille kestää sovelluksen julkaisemisesta muutamia tunteja. Aika on kuitenkin verrattain vähäinen verrattuna esimerkiksi Applen App Storeen tuleviin sovelluksiin, sillä Google ei tarkista sovelluksia.

LähteetMuokkaa

ViitteetMuokkaa

  1. Google is adding Kotlin as an official programming language for Android development 17.5.2017. Verge. Viitattu 17.2.2020. (englanniksi) 
  2. Lardinois, Frederic: Kotlin is now Google’s preferred language for Android app development 7.5.2019. TechCrunch. Viitattu 19.2.2020. (englanniksi)
  3. a b Platform Architecture developer.android.com. Viitattu 29.2.2020. (englanniksi) 
  4. Experimental Google ART runtime in Android KitKat can bring twice faster app executions phonearena.com. 7.11.2013. Viitattu 29.2.2020. (englanniksi) 
  5. a b Application Fundamentals developer.android.com. Viitattu 13.9.2020. (englanniksi)
  6. Android App Bundle Android Developers. Viitattu 10.6.2021. (englanniksi)