Android-sovelluskehitys
From Wikipedia, the free encyclopedia
Remove ads
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.
Tätä artikkelia tai sen osaa on pyydetty päivitettäväksi, koska sen sisältö on osin vanhentunut. Voit auttaa Wikipediaa parantamalla artikkelia. Lisää tietoa saattaa olla keskustelusivulla. Tarkennus: Osittain vanhentunutta |
Tähän artikkeliin tai sen osaan on merkitty lähteitä, mutta niihin ei viitata. Älä poista mallinetta ennen kuin viitteet on lisätty. Voit auttaa Wikipediaa lisäämällä artikkelille asianmukaisia viitteitä. Lähteettömät tiedot voidaan kyseenalaistaa tai poistaa. |
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]
Remove ads
Android-kehitystyökalut
Android SDK on ohjelmistokehityspaketti (Software Development Kit), jota käytetään Android-sovellusten toteuttamiseen. Android SDK sisältää kaikki Android-sovelluksen luontiin tarvittavat kirjastot, mukaan lukien kirjastot käyttöliittymien tekoon sekä debuggaustyökalut ja muita työkaluja sovelluskehitykseen.[5]
Virallinen Googlen tarjoama kehitysympäristö on Android Studio, jonka mukana tulee Android SDK.[6] Muita kehitykseen käytettäviä ovat muun muassa Eclipse ja Microsoft Visual Studio.[7][8]
Pelien kehitykseen käytettäviä työkaluja ovat muun muassa Unity ja Unreal Engine.[6]
Lisäksi Pascal-kielellä voi kehittää Android-sovelluksia ja tätä tukevia työkaluja ovat muun muassa Delphi ja Lazarus.
Remove ads
Sovelluksien tekeminen
Käyttöliittymiä voi tehdä Androidin omalla rajapinnalla (mm. Jetpack[9])[10] tai esimerkiksi Flutter-kirjastolla.[11]
Sovelluksien kehitykseen voidaan käyttää Java, Kotlin ja C++-ohjelmointikieliä.[12] Sovellukset paketoidaan APK- tai Android App Bundle (AAB) -pakettitiedostoihin, jotka sisältävät sovelluksen ohjelmakoodin lisäksi muun tarvittavan datan ja resurssitiedostot.[12] Sovellukset asennetaan APK-pakettitiedostoista laitteelle.[12]
Eri kielille ja kulttuureille suunnatut tekstit ja muut tiedot sijoitetaan resurssitiedostoihin, jotka liitetään sovelluksen mukaan.[13]
Remove ads
Ohjelmiston testaaminen
Androidille tehtyjä sovelluksia voi testata eri tavoin Android Studiossa: emulaattorilla[14], yksikkötesteillä (JUnit[15]) ja erilaisten testaustyökalujen avulla (mm. App Crawler, Monkey Testing, monkeyrunner[16]). Android Debug Bridge (adb) tukee testaamista fyysisellä laitteella langattoman yhteyden (Wi-Fi, Android 11 tai uudempi) tai USB-liitännän avulla.[17]
Fyysisellä laitteella debuggaamista varten Android-puhelimesta löytyy valinnat, jotka kytketään päälle laitteen järjestelmäasetuksista.[18]
Esimerkki

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();
}
}
Remove ads
Tietoturva
Jokainen Android-sovellus sijaitsee omassa hiekkalaatikossaan tietoturvan vuoksi:[12]
- 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[12] tai Google Play -palveluun lähetettäväksi mahdollisesti myös Android App Bundle (.aab) -tiedostoina, joka on suositeltu muoto julkaistessa sovellusta[19].
Remove ads
Sovelluksen julkaiseminen
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.
Remove ads
Suorituskyvyn seuranta
Android Studiossa on profilointityökalu suorittimen, muistin, verkon ja akun käytön mittaamiseen.[20]
Android vitals on Googlen hanke sovelluksien vakauden ja suorituskyvyn seurantaan laitteilla, joiden käyttäjät ovat valinneet sen käytön. Tällä sovelluskehittäjät saavat tietoa käyttökokemuksen laatuun vaikuttavista seikoista kuten vakaudesta, suorituskyvystä, akun käytöstä ja oikeuksien kieltämisestä.[21]
Remove ads
Ympäristömuuttujat
Android ei käytä ympäristömuuttujia, vaan property-järjestelmää. Jotkin tiedot voidaan asettaa ohjelman käännöksen yhteydessä ja joitakin voi muuttaa adb-komentotulkin avulla. Androidissa on sysprop
-rajapinta property-arvojen käsittelyyn sovelluksesta. Propertyillä voidaan muuttaa myös käyttöjärjestelmän toimintaa, kuten SELinuxin käytäntöjä.[22]
Lähteet
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads