Android Studiossa on Gradle-pohjainen käännösjärjestelmä ja tuki ProGuardille.[4][5] Android Studiossa on mukana emulaattori Android-laitteiden mallintamiseen tietokoneella ohjelmien testaamista varten.[6] Android Studio tukee yksikkötestien käyttöä (JUnit[7]) ja erilaisten testaustyökalujen käyttöä (Espresso Test Recorder[8], App Crawler, Monkey Testing, monkeyrunner[9]). Android Debug Bridge (adb) tukee testaamista fyysisellä laitteella langattoman yhteyden (Wi-Fi, Android 11 tai uudempi) tai USB-liitännän avulla.[10]
Android Studiossa on profilointityökalu suorittimen, muistin, verkon ja akun käytön mittaamiseen.[11]
Jokaisessa Android-projektissa on oma hakemisto, josta näkee kaikki projektiin liittyvät moduulit ja tiedostot. Valitsemalla hakemiston yläreunasta Android- näkymän löytyy Android-sovellusmoduulista (app) löytyy jo oletuksena kansiot manifests, java ja res.[12] Manifests-kansio sisältää tiedoston AndroidManifest.xml, jossa kuvataan sovelluksen olennaiset tiedot, kuten sovelluksen komponentit, käyttöoikeudet ja sovelluksen vaatimat laitteisto- ja ohjelmisto-ominaisuudet.[13]
Java-kansio sisältää Kotlin- ja Java-lähdekooditiedostot ja lisäksi JUnit-testikoodiluokan, johon voi kirjoittaa paikallisia JUnit-testejä ohjelmalle.[14] Sovellusmoduulin viimeinen kansio, res, sisältää kaikki muut ohjelmassa tarvittavat koodiresurssit; XML-asettelut, käyttöliittymän koodit ja bittikarttakuvat.[12] Hakemiston yläreunasta voi vaihtaa hakemiston esitysmallia. Valitsemalla esimerkiksi Project-näkymän näkee koko projektin todellisen tiedostorakenteen.
Editori-ikkunasta (kuvassa oikealla isompi ikkuna) voi editoida valitsemaasi koodia valitsemalla hakemistosta editoitavan tiedoston tai luomalla uuden. Valitessa muokattavan tiedoston se avautuu koodieditorin yläpuolella oleviin välilehtiin, joissa on tallessa myös muut muokkauksen alla olevat koodit. Niiden yläpuolelta löytyy navigointipalkki, jonka kautta voi hakemiston sijasta avata tiedostoja muokattavaksi. Työkalupalkki löytyy samasta palkista navigointipalkin kanssa sen oikeasta reunasta.[12] Sieltä löytyy työkalut ohjelman ajamiseen ja Android-emulaattori, jonka avulla voi testata ohjelman toimivuutta virtuaalisella puhelimella tai tabletilla.[15] Lisää työkaluja ohjelman käyttöön löytyy ikkunan vasemmasta, oikeasta ja alareunasta. Näitä työkaluja ovat mm. TODO-lista, johon voi koodia kirjoittaessa lisätä muistamisen helpottamiseksi esimerkiksi myöhemmin tehtäviä koodin osia, sekä Problems-ikkuna, joka analysoi editori-ikkunassa työn alla olevan tiedostosta löytyvät koodivirheet.
Ominaisuudet
Seuraavat toiminnallisuudet tarjotaan nykyisessä versiossa:
Gradle-pohjainen rakennusapu
Lint-työkalut, joilla voi etsiä suoritus-, käytettävyys-, versio- ja muita ongelmia.
ProGuard-integraatio
Templaatti-pohjaiset Wizardit, joilla voi luoda Androing-designejä sekä komponentteja.
Monipuolinen Layout-editori, jolla on mahdollista vetää ja pudottaa UI-komponentteja.
Tuki Android Wear -sovelluksien luomiselle
Sisäänluotu tuki Google Cloud -alustalle
Android Virtual Device (emulaattori), joka mahdollistaa sovelluksien debuggaamisen ja ajamisen sovelluksessa.
Android Studio tukee kaikkia samoja kieliä kuin IntelliJ, kuten esimerkiksi Java, C++ ja lisäosien avulla vielä enemmän. Android Studio 3.0 -versiosta eteenpäin on myös tuki Kotlinille.
Android Gradle lisäosa 3.0.0 tukee kaikkia Java 7 ominaisuuksia, ja osajoukkoa Java 8 ominaisuuksista. [16] Android Gradle lisäosalla 4.0.0 on hieman laajempi tuki Java 8:lle. Kaikki Gradle 4.0.0 tukemat Java 8 -ominaisuudet on lueteltu täällä[17]. Java 8 ominaisuuksia on esim. Lambda-lausekkeet, joilla voi lyhtentää koodia "->" merkeillä ja lyhyemmällä syntaksilla. Lamda-lausekkeet ovat kuin nimettömiä metodeja, jotka lisätään suoraan sinne missä niitä käytetään. Ne ottavat sisään parametrejä ja antavat paluuarvon. [18][19]
Android Studiolla tehtyjä sovelluksia on mahdollista julkaista Google Play -sovelluskaupassa. Google Playssa julkaistavien sovellusten tulee noudattaa Googlen kehittäjien käytäntöpalvelua. Sovelluksen julkaisemiseksi tarvitsee Google Developer -tilin, jonka luominen maksaa 25$.[20]
Android Studoissa on helppokäyttöinen integroitu versionhallintatuki (VCS support), muun muassa palveluille Git, GitHub, CVS, Mercurial, Subversion ja Google Cloud Source Repositories. [21]
Versiohistoria
Lista Android Studion julkaistuista versioista.[22]
Mikä vain 64-bit Linux, joka tukee GNOME, KDE tai Unitya; GNU C Library (glibc) 2.31 tai myöhempää
Vaadittu RAM
8 GB tai enemmän
8 GB tai enemmän
8 GB tai enemmän
Vapaa muisti
Vähintään 8 GB vapaata tilaa
Vähintään 8 GB vapaata tilaa
Vähintään 8 GB vapaata tilaa
Näytön vähimmäisresoluutio
1280 × 800 px
1280 × 800 px
1280 × 800 px
Esimerkki pääaktiviteetista
Alla olevaa koodi on esimerkki pääaktiviteetista. Se sisältää koodia, joka ajetaan pääaktiviteetin ollessa aktiivinen ohjelman suorituksen aikana. Pääaktiviteetin ohella on xml-tiedosto, joka sisältää kolme komponenttia: TextView, EditText ja Button. TextView on komponentti, joka näyttäytyy tekstinä käyttöliittymässä. EditText on komponentti, johon käyttäjä voi kirjoittaa. Button on komponentti, jota käyttäjä voi painaa. Esimerkissä esitellään, miten xml-tiedoston komponentteihin viitataan ja miten niitä voidaan käyttää.
publicclassMainActivityextendsAppCompatActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);TextViewtextView=(TextView)findViewById(R.id.textView);// Viittaus TextView-komponenttiin.EditTexteditText=(EditText)findViewById(R.id.editText);// Viittaus EditText-komponenttiin.Buttonbutton=(Button)findViewById(R.id.button);// Viittaus Button-komponenttiin.// Asetetaan Button-komponentille luokkakuuntelija, joka suorittaa sen sisältämän koodin kun Button-komponenttia painetaan ohjelman suorituksen aikana.button.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewview){StringeditTextValue=(String)editText.getText().toString();// Talletetaan EditText-komponentin sisältämä teksti muuttujaan.textView.setText(editTextValue);// Vaihdetaan TextView-komponentin sisältämä teksti muuttujan sisältämällä merkkijonolla.}});}}