Päivitetty: tammikuu 2020.
Android Studio tarjoaa runsaan valikoiman sisäänrakennettuja kehitystyökaluja ja vieläkin runsaamman laajennusekosysteemin. Tämän sarjan kolme ensimmäistä artikkelia keskittyivät asennukseen ja määritykseen sekä yksinkertaisen mobiilisovelluksen koodaamiseen ja käyttämiseen Android Studiossa. Nyt tutustut joihinkin kehittyneempiin työkaluihin: kolme sisäänrakennettua työkalua ja kolme laajennusta virheenkorjaukseen ja Android-sovelluskoodisi laadun ja tuottavuuden parantamiseen.
Tässä artikkelissa esitellään seuraavat Android Studion työkalut:
Sisäänrakennetut virheenkorjaustyökalut
- Logcat
- Virheenkorjaus
- Nukka
Laajennukset kehittäjien tuottavuuteen
- ADB-idea
- Codota
- Lombok-laajennus
Mitä uutta Android Studio 3.5: ssä
Selvitä, mitä etsit Android Studion uusimmasta versiosta, mukaan lukien Kotlinin tuki, muistinhallinnan ja käyttöliittymän reagoinnin parannukset.
Android-sovellusten kirjaaminen ja virheenkorjaus
Buginen sovellus on varma tapa ajaa potentiaaliset asiakkaat pois. Logcat ja Debug ovat kaksi Android Studioon sisäänrakennettua työkalua, joiden avulla voit tunnistaa ja korjata Android-koodisi virheitä.
Androidin kirjaaminen: Logcat
Et ehkä tarvitse tai halua täydellistä virheenkorjainta jokaiselle "buginen" skenaariolle. Joissakin tapauksissa riittää kirjautua ja korjata tiettyjen muuttujien arvot. Android Studion Logcat on täydellinen tähän tehtävään.
Logcat on komentorivityökalu (integroitu Android Debug Bridge - ADB: hen), joka tyhjentää a Hirsi järjestelmäviestejä, joiden avulla voit löytää ja korjata ongelmia koodissasi. Viestit sisältävät pinon jäljet, kun laite heittää virheen, ja lokiviestit, jotka olet tarkoituksella upottanut android.util.Log
luokassa. Logcat on niin hyödyllinen, että se on integroitu suoraan Android Studioon, jossa voit käyttää sitä Näytä valikosta tai työkalun ikkunapalkista.
Logcat ikkuna on jaettu avattavien luetteloiden ja muiden ohjausobjektien vaakasuoraan riviin, jota seuraa viestialue. Vasemmalta oikealle säätimet ovat:
- Avattava luettelo yhdistetyistä laitteista ja emulaattoreista. (Katso kuva 1.)
- Avattava luettelo, joka tunnistaa valitulle laitteelle asennetut APK-paketit.
- Avattava luettelo kirjaamistasoista:
- Sanallinen: näytä kaikki viestit.
- Virheenkorjaus: näytä virheenkorjauslokiviestit, jotka ovat hyödyllisiä vain kehityksen aikana, sekä avattavassa luettelossa alemmat viestitasot.
- Info: näytä odotetut lokiviestit säännöllistä käyttöä varten sekä avattavassa luettelossa alemmat viestitasot.
- Varoitus: näytä mahdolliset ongelmat, jotka eivät ole vielä virheitä, sekä avattavassa luettelossa alemmat viestitasot.
- Virhe: näytä virheitä aiheuttaneet ongelmat - heitetyt poikkeukset sekä Vahvista-viestitaso.
- Väitä: näytä ongelmat, joiden kehittäjän odotusten ei pitäisi koskaan tapahtua.
- Hakupalkki, jossa näkyvät vain viestit, jotka sisältävät tähän hallintalaitteeseen kirjoittamasi tekstin.
- Valintaruutu, jonka avulla voit käyttää säännöllisiä lausekkeita hakupalkissa. Voit esimerkiksi määrittää kuvan 1 yhteydessä SystemClock | AlarmManager (ts. viestin on sisällettävä kumpikin sana).
- Avattava luettelo viestien suodattamiseksi, mukaan lukien seuraavat vaihtoehdot:
- Ei suodattimia (oletus) saa kaikki valitun laitteen viestit näkyviin valitusta APK-paketista riippumatta.
- Näytä vain valittu sovellus näyttää vain valitulle laitteelle valitulle APK-paketille vain ne viestit, jotka ovat asianmukaisella lokitasolla tai alhaisempia.
- Muokkaa suodattimen määritystä voit luoda mukautetun suodattimen.
Lähdekoodissa voit lisätä puheluita useisiin android.util.Log
menetelmiä viestien kirjaamiseen. Voit esimerkiksi soittaa public staattinen int i (String tag, String msg)
kirjautua sisään TIEDOT
-tasoviesti tai public staattinen int w (String tag, String msg)
kirjautua a VAROITTAA
-tason viesti.
Kummassakin menetelmässä merkkijono välitettiin tag
tunnistaa viestin lähteen (esim. menetelmän, jossa tätä kirjausmenetelmää kutsuttiin) ja merkkijono siirrettiin Viesti
tunnistaa lokitettavan viestin.
Vaihtoehtoisesti voit soittaa System.out
ja System.err
on Tulosta()
ja println ()
menetelmiä. Puhelut System.out
menetelmillä saavutetaan sama asia kuin log.i ()
kehottaa; puhelut System.err
menetelmillä saavutetaan sama asia kuin log.w ()
puhelut.
Kuvassa 2 ainoat näytettävät viestit ovat esimerkkisovellusprosessia, joka toimii emuloidussa Nexus 5X -laitteessa. Lisäksi näiden viestien on sisällettävä onCreate
ja sen on hyväksyttävä Näytä vain valittu sovellus suodattaa.
Lisätietoja Logcatista
Katso Googlen "Kirjoita ja tarkastele lokeja Logcatin kanssa" saadaksesi lisätietoja Logcatista. Tutki myös android.util.Log
luokan asiakirjat.
Virheenkorjaus Android: Virheenkorjaus
Logcatin käyttäminen kirjaamiseen ja koodin korjaamiseen on oikein hyvin yksinkertaisissa sovelluksissa. Monimutkaisemmille sovelluksille tämä virheenkorjausmuoto voi olla työläs. Sen sijaan haluat jotain, jonka avulla voit virittää sovelluksen suoritettavan koodin. Android Studion sisäänrakennettu virheenkorjaustyökalu tarjoaa monia ominaisuuksia, mukaan lukien seuraavat:
- Valitse laite, jolla sovelluksen virheenkorjaus tapahtuu.
- Aseta katkaisupisteet sovelluskoodissasi (Java, Kotlin tai C / C ++).
- Tutki muuttujia ja arvioi lausekkeita ajon aikana.
Ennen virheenkorjaustyökalun käyttöä on joitain edellytyksiä:
- Jos sovelluksesi sisältää C / C ++ -lähdekoodin, sinun on asennettava LLDB SDK Managerista (katso kuva 3). Onneksi tämän sarjan esimerkkisovellus (W2A) ei sisällä C / C ++ -koodia, joten voimme jättää tämän edellytyksen huomiotta.
Jeff Friesen
- Sinun on sallittava virheenkorjaus yhdistetyssä laitteessa. Jos kuitenkin käytät emulaattoria (jota olemme tässä esimerkissä), voit jättää tämän edellytyksen huomiotta. Virheenkorjaus on oletusarvoisesti käytössä emuloiduissa laitteissa.
- Sinun on suoritettava virheenkorjattava koontiversio. Oletuksena tämä on luotu sinulle, joten monissa tapauksissa (mukaan lukien tämä esimerkki) sinun ei tarvitse huolehtia siitä.
Suoritetaan nopea virheenkorjausistunto.
Yksinkertainen Android-virheenkorjaus
Oletetaan, että käytät Android Studiota esimerkkisovelluksen muokkausikkunan kanssa (W2A.java) auki, ensimmäinen askel on asettaa katkaisupiste public void onCreate (Bundle savedInstanceState)
linja. Aseta taittopiste korostamalla tämä viiva ja tekemällä jokin seuraavista:
- Napsauta viivan vasemmalla puolella olevaa kourualuetta; viivan tulisi muuttua vaaleanpunaiseksi vastauksena.
- Valitse Vaihda viivan katkaisupiste alkaen Juosta valikossa.
- Lehdistö Ctrl ja F8 samanaikaisesti.
Valitse nyt Virheenkorjaus 'app' alkaen Juosta -valikossa tai napsauta asianmukaista kuvaketta työkalupalkissa. Jos emulaattori ei ole käynnissä, huomaat Valitse Käyttöönottotavoite valintaikkuna. valitsin Nexus 5X API 15 ja napsautti OK.
Kun odotat jäljitetyn laitteen verkkoyhteyttä, napsauta Virheenkorjaus -painiketta työkaluikkunan palkissa näyttääksesi Virheenkorjaus ikkuna. Lopulta sinun pitäisi nähdä jotain samanlaista kuin kuvassa 4.
Jeff FriesenVirheenkorjaus ikkuna sisältää kuvakkeet menetelmän siirtymiseksi, siirtymiseksi ja poistamiseksi menetelmästä ja muusta. Kuva 5 näyttää mitä tapahtuu, kun me astua yli menetelmä.
Jeff FriesenNapsauta haluamaasi kuvaketta ja valitse Astua yli alkaen Juosta tai paina F8. Tämän avulla voimme edetä syvemmälle onCreate ()
menetelmän aikana samalla kun siirrytään kutakin menetelmäkutsuun.
Valitse viiva, jolla on sulkeminen }
merkki onCreate ()
ja valitse sitten Suorita kohdistin. Saat ilmoituksen, että sovellus on käynnissä. Laitteen lukituksen avaamisen jälkeen sinun pitäisi nähdä esimerkkisovelluksen toimintaikkuna.
Lisätietoja virheenkorjauksesta
Katso Googlen "Sovelluksen virheenkorjaus" saadaksesi lisätietoja virheenkorjauksesta Android Studiossa. esimerkiksi kuinka käyttää erilaisia katkaisupisteitä.
Virheenkorjaus GAPID: n avulla
Vaikka sitä ei käsitellä tässä, suosittelen tutustumaan GAPID: Graphics API Debugger -kokoelmaan virheenkorjaustyökaluihin, joiden avulla voit tarkastaa, säätää ja toistaa puheluita Android-sovelluksesta grafiikkaohjaimeen.
Kooditarkastus Lintillä
Huolimatta siitä, kuinka kirjoitat sen huolellisesti, lähdekoodisi sisältää todennäköisesti virheitä, tyylillisiä ongelmia ja saattaa viitata resursseihin, jotka ovat syystä tai toisesta passiivisia. A nukka on eräänlainen työkalu, joka etsii lähdekoodia todisteista näistä ja muista ilkeistä pörröistä, joista se raportoi kehittäjälle.
Nukka on sisäänrakennettu linter Android SDK: lle. Voit etsiä sitä ongelmista, kuten vanhentuneista elementeistä ja API-kutsuista, joita kohdesovellusliittymä ei tue.
Suorita Lint Android Studiossa valitsemalla Tarkastuskoodi ... alkaen Analysoida valikossa. Se aktivoi Määritä tarkastusala valintaikkuna.
Jeff FriesenValitse valintaikkunasta haluamasi laajuus (tässä tapauksessa koko projekti) ja napsauta sitten OK tarkastuksen aloittamiseksi. Tulokset näkyvät Tarkastustulokset ikkuna, jossa ne on järjestetty luokittain.
Jeff FriesenLuonteensa mukaisesti Lint on poiminut muutaman nukan, joka muuten voisi sotkea sovelluskoodin. Kun havaitset, on helppo korjata kolme kuvassa 8 esitettyä Java-varoitusta: yksinkertaisesti ilmoita androidAnimaatio
yksityinen
ja poista kipsit molemmista findViewById ()
menetelmäpuhelut.
Lisätietoja Lintistä
Katso "Paranna koodiasi nukkaustarkistuksilla" -osiosta, niin saat lisätietoja Lintin käytöstä Android Studiossa ja Android SDK: n erillisestä Lint-työkalusta.
Android Studio -laajennusten asentaminen ja käyttäminen
Vaikka sisäänrakennetuilla työkaluilla on ansiot, monia muita työkaluja on saatavana laajennuksina. Tässä osassa tarkastelemme kolmea laajennusta koodauksen tuottavuuden parantamiseksi Android Studiossa:
- ADB-idea
- Codota
- Lombok-laajennus
Android Studio -laajennusten hallinta
Android Studion laajennusten hallinta helpottaa laajennusten löytämistä ja asentamista. Aktivoi laajennusten hallinta valitsemalla Tiedosto >asetukset jonka jälkeen Laajennukset alkaen asetukset valintaikkuna:
Jeff FriesenNapsauta sitten Selaa arkistoja ... aktivoida Selaa arkistoja valintaikkuna, joka näyttää täydellisen luettelon tuetuista laajennuksista. Valitsemme tämän valintaikkunan ensimmäisen laajennuksemme, ADB Idean, valitsemiseksi.
Jeff FriesenParanna Android-tuottavuuttasi
Koodin pikavalinnat: ADB-idea
ADB-idea nopeuttaa päivittäistä Android-kehitystä tarjoamalla nopean pääsyn yleisesti käytettyihin ADB-komentoihin, kuten sovelluksen käynnistämiseen ja poistamiseen.
Valitse ADB-idea napsauta laajennusten arkistoluettelossa Asentaa -painiketta. Android Studio jatkaa laajennuksen lataamista ja asentamista. Sitten se merkitsee uudelleen Asentaa että Käynnistä Android Studio uudelleen. Jokaisen laajennuksen osalta minun piti valita laajennus uudelleen napsauttamisen jälkeen Käynnistä Android Studio uudelleenja napsauta tätä painiketta toisen kerran käynnistääksesi Android Studion uudelleen.
Jeff FriesenAsennuksen jälkeen Android Studion avulla voit käyttää ADB Ideaa sen kautta Työkalut valikossa. Valitse Työkalut> ADB-idea ja valitse sopiva komento tuloksena olevasta ponnahdusvalikosta.
Jeff FriesenKun olen valinnut ADB Käynnistä sovellus uudelleen, Huomasin seuraavat viestit Tapahtumaloki ikkuna sekä uudelleenkäynnistetty sovellus Amazon Kindle -laitteellani.
Jeff FriesenEtsi käyttökelpoinen koodi: Codota
Voit käyttää Codota laajennus Codota-hakukoneeseen pääsemiseksi, jonka avulla voit etsiä miljoonia julkisesti saatavilla olevia Java-lähdekoodikatkelmia ratkaisujen löytämiseksi Android-koodausongelmiin.
Jeff FriesenValitse Codota laajennusten arkistoluettelossa ja napsauta sitten Asentaa -painiketta. Kun Android Studio on ladannut ja asentanut laajennuksen, se tunnistaa uudelleen Asentaa -painiketta Käynnistä Android Studio uudelleen. Uudelleenkäynnistys aktivoi Codotan.
Uudelleenkäynnistyksen jälkeen kohtaat Codota-todennus valintaikkuna. Napsauta linkkiä ja noudata ohjeita saadaksesi tunnuksen. Liitä sitten tunniste edellä mainittuun valintaikkunaan ja napsauta Mennä.
Jeff FriesenAndroid Studion avulla voit käyttää Codotaa napsauttamalla hiiren kakkospainikkeella Java-koodia muokkausikkunassa ja valitsemalla Hanki asiaankuuluvia esimerkkejä valikkokohta kuvan 16 mukaisesti.
Jeff FriesenNapsauttamalla tätä valikkokohtaa selain näyttää sivun, jossa on asiaankuuluvia koodiesimerkkejä. Esimerkiksi seuraavalla sivulla on esimerkkejä, jotka ovat merkityksellisiä findViewById
:
Luo Java-koodi automaattisesti: Lombok
Lombok-projekti tarjoaa joukon merkintöjä, joita voit käyttää kattilakoodin sijasta, mikä säästää aikaa tämän koodin kirjoittamiseen käsin.
Jeff FriesenValitse Lombok-laajennus napsauta sitten laajennusten arkistoluettelossa Asentaa. Kun Android Studio on ladannut ja asentanut laajennuksen, se kehottaa sinua tekemään niin Käynnistä Android Studio uudelleen. Uudelleenkäynnistys aktivoi Lombok-laajennuksen.