Ohjelmointi

Android Studio aloittelijoille, osa 4: Virheenkorjaustyökalut ja tuottavuuslisäosat

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.

Jeff Friesen

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.outja System.erron 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.

Jeff Friesen

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ä:

  1. 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

  2. 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.
  3. 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 Friesen

Virheenkorjaus 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 Friesen

Napsauta 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.

Jeff Friesen

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 Friesen

Valitse 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 Friesen

Luonteensa mukaisesti Lint on poiminut muutaman nukan, joka muuten voisi sotkea sovelluskoodin. Kun havaitset, on helppo korjata kolme kuvassa 8 esitettyä Java-varoitusta: yksinkertaisesti ilmoita androidAnimaatioyksityinen 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 Friesen

Napsauta 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 Friesen

Paranna 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 Friesen

Asennuksen 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 Friesen

Kun olen valinnut ADB Käynnistä sovellus uudelleen, Huomasin seuraavat viestit Tapahtumaloki ikkuna sekä uudelleenkäynnistetty sovellus Amazon Kindle -laitteellani.

Jeff Friesen

Etsi 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 Friesen

Valitse 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 Friesen

Android Studion avulla voit käyttää Codotaa napsauttamalla hiiren kakkospainikkeella Java-koodia muokkausikkunassa ja valitsemalla Hanki asiaankuuluvia esimerkkejä valikkokohta kuvan 16 mukaisesti.

Jeff Friesen

Napsauttamalla tätä valikkokohtaa selain näyttää sivun, jossa on asiaankuuluvia koodiesimerkkejä. Esimerkiksi seuraavalla sivulla on esimerkkejä, jotka ovat merkityksellisiä findViewById:

Jeff Friesen

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 Friesen

Valitse 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.