Programiranje

Android Studio za začetnike, 4. del: Orodja za odpravljanje napak in vtičniki za produktivnost

Posodobljeno: januar 2020.

Android Studio ponuja bogato paleto vgrajenih razvojnih orodij in še bolj bogat ekosistem vtičnikov. Prvi trije članki v tej seriji so bili osredotočeni na namestitev in nastavitev ter kodiranje in zagon preproste mobilne aplikacije s sistemom Android Studio. Zdaj se boste seznanili z nekaterimi naprednejšimi orodji: tremi vgrajenimi orodji in tremi vtičniki za odpravljanje napak ter izboljšanjem kakovosti in storilnosti kode vaše aplikacije za Android.

Ta članek predstavlja naslednja orodja za Android Studio:

Vgrajena orodja za odpravljanje napak

  • Logcat
  • Odpravljanje napak
  • Lint

Vtičniki za produktivnost razvijalcev

  • Ideja ADB
  • Codota
  • Vtičnik Lombok

Kaj je novega v Android Studio 3.5

Ugotovite, na kaj morate biti pozorni v najnovejši različici Android Studio, vključno s podporo za Kotlin in izboljšavami upravljanja pomnilnika in odzivnosti uporabniškega vmesnika.

Beleženje in odpravljanje napak aplikacij za Android

Buggy aplikacija je zanesljiv način, da odženete potencialne stranke. Logcat in Debug sta dve orodji, ki sta vgrajeni v Android Studio in ju lahko uporabite za prepoznavanje in odpravljanje napak v kodi Android.

Dnevnik Android: Logcat

Morda ne boste potrebovali ali želeli popolnega razhroščevalnika za vsak scenarij "hroščev". V nekaterih primerih zadostuje zapisovanje in popravljanje vrednosti nekaterih spremenljivk. Logcat za Android Studio je kot nalašč za to nalogo.

Logcat je orodje ukazne vrstice (integrirano v Android Debug Bridge - ADB), ki odvrne datoteko log sistemskih sporočil, ki vam lahko pomagajo najti in odpraviti težave v kodi. Sporočila vključujejo sledove skladov, ko naprava vrne napako, in dnevniška sporočila, ki ste jih namerno vdelali v android.util.Log razred. Logcat je tako uporaben, da je bil vgrajen neposredno v Android Studio, kjer lahko do njega dostopate z Pogled v meniju ali okenski vrstici orodja.

Jeff Friesen

The Logcat okno je razdeljeno na vodoravno vrsto spustnih seznamov in drugih kontrolnikov, ki jim sledi območje za sporočila. Kontrole od leve proti desni so:

  • Spustni seznam, ki identificira povezane naprave in emulatorje. (Glej sliko 1.)
  • Spustni seznam, ki identificira nameščene pakete APK v izbrani napravi.
  • Spustni seznam stopenj beleženja:
    • Podroben: prikaži vsa sporočila.
    • Odpravljanje napak: prikaže sporočila dnevnika odpravljanja napak, ki so uporabna samo med razvojem, pa tudi ravni sporočil nižje na spustnem seznamu.
    • Informacije: prikaže pričakovana dnevniška sporočila za redno uporabo, pa tudi ravni sporočil nižje na spustnem seznamu.
    • Opozorilo: prikažite možne težave, ki še niso napake, pa tudi ravni sporočil nižje na spustnem seznamu.
    • Napaka: prikaži težave, ki so povzročile napake - vržene izjeme, pa tudi raven sporočila Uveljavi.
    • Uveljavi: prikaži težave, za katere razvijalec pričakuje, da se ne bi smele nikoli zgoditi.
  • Iskalna vrstica, v kateri se prikažejo samo sporočila, ki vsebujejo besedilo, ki ga vnesete v ta kontrolnik.
  • Potrditveno polje, ki vam omogoča uporabo regularnih izrazov v iskalni vrstici. Na primer, v kontekstu slike 1 lahko določite SystemClock | AlarmManager (tj. Sporočilo mora vsebovati katero koli besedo).
  • Spustni seznam za filtriranje sporočil, vključno z naslednjimi možnostmi:
    • Brez filtrov (privzeto) povzroči, da se prikažejo vsa sporočila za izbrano napravo, ne glede na izbrani paket APK.
    • Pokaži samo izbrano aplikacijo predstavlja le tista sporočila za izbrani paket APK v izbrani napravi, ki so na ustrezni ravni dnevnika ali nižji.
    • Uredi konfiguracijo filtra omogoča ustvarjanje filtra po meri.

V izvorni kodi lahko vstavljate klice različnim android.util.Log metode za beleženje sporočil. Lahko na primer pokličete javni statični int i (oznaka niza, sporočilo niza) za prijavo INFO-razred sporočila, oz javni statični int w (String tag, String msg) za prijavo a OPOZORILOsporočilo na ravni.

Pri obeh metodah je niz prenesen na oznaka identificira vir sporočila (npr. način, v katerem je bila ta metoda beleženja prijavljena), in niz, ki mu je bil poslan sporoč identificira sporočilo, ki se beleži.

Lahko pa tudi pokličete System.outje in System.errje natisni () in println () metode. Klici na System.out metode dosežejo isto kot log.i () klici; klici na System.err metode dosežejo isto kot log.w () klici.

Jeff Friesen

Na sliki 2 so prikazana edina sporočila za primer postopka aplikacije, ki se izvaja v emulirani napravi Nexus 5X. Poleg tega morajo ta sporočila vsebovati onCreate in jih sprejme Pokaži samo izbrano aplikacijo filter.

Več o Logcat

Oglejte si Googlov zapis »Zapiši in glej dnevnike z Logcatom«, če želite izvedeti več o Logcatu. Preučite tudi android.util.Log dokumentacija predavanja.

Odpravljanje napak Android: odpravljanje napak

Uporaba Logcata za prijavo in popravljanje kode je v redu za zelo preproste aplikacije. Za bolj zapletene aplikacije je ta oblika odpravljanja napak lahko dolgočasna. Namesto tega boste želeli nekaj, kar vam omogoča razhroščevanje izvršljive kode aplikacije. Vgrajeno orodje za odpravljanje napak Android Studio ponuja številne funkcije, vključno z naslednjimi:

  • Izberite napravo, v kateri želite odpraviti napake v aplikaciji.
  • V kodi aplikacije nastavite mejne točke (Java, Kotlin ali C / C ++).
  • Preglejte spremenljivke in ocenite izraze med izvajanjem.

Pred uporabo tega orodja za odpravljanje napak je nekaj predpogojev:

  1. Če vaša aplikacija vključuje izvorno kodo C / C ++, boste morali namestiti LLDB iz upravitelja SDK (glejte sliko 3). Na srečo je primer aplikacije za to serijo (W2A) ne vsebuje kode C / C ++, zato lahko tega predpogoja prezremo.

    Jeff Friesen

  2. V povezani napravi morate omogočiti odpravljanje napak. Če pa uporabljate emulator (kar smo mi v tem primeru), lahko tega predpogoja prezrete. Odpravljanje napak je privzeto omogočeno v emuliranih napravah.
  3. Zagnati morate različico gradnje, ki jo je mogoče odpraviti. To je privzeto ustvarjeno za vas, zato vam v mnogih primerih (vključno s tem primerom) ni treba skrbeti.

Zaženimo hitro sejo za odpravljanje napak.

Preprosto odpravljanje napak Androida

Ob predpostavki, da uporabljate Android Studio z oknom urejevalnika za primer aplikacije (W2A.java) odprto, vaš prvi korak je, da na javna praznina onCreate (Bundle savedInstanceState) črta. Točko odmora nastavite tako, da označite to vrstico in naredite nekaj od tega:

  • Kliknite območje žleba na levi strani črte; v odgovor mora biti črta roza.
  • Izberite Preklopi točko preloma vrstice Iz Teči meni.
  • Pritisnite Ctrl in F8 hkrati.

Zdaj izberite Odpravljanje napak v aplikaciji Iz Teči ali kliknite ustrezno ikono v orodni vrstici. Če emulator ne deluje, boste opazili Izberite Cilj uvajanja pogovorno okno. Izbrala sem API za Nexus 5X 15 in kliknili v redu.

Medtem ko čakate, da se emulirana naprava poveže, kliknite Odpravljanje napak na okenski vrstici orodja za prikaz Odpravljanje napak okno. Sčasoma bi morali videti nekaj podobnega kot na sliki 4.

Jeff Friesen

The Odpravljanje napak okno vsebuje ikone za prestop skozi metodo, v in iz metode in še več. Slika 5 prikazuje, kaj se zgodi, ko se stopiti čez metoda.

Jeff Friesen

Kliknite ustrezno ikono in izberite Stopiti čez Iz Teči ali pritisnite F8. To nam omogoča, da nadaljujemo globlje v onCreate () , medtem ko prekoračite vsak klic metode.

Izberite vrstico z zaključkom } znak za onCreate () , nato izberite Teči do kurzorja. Prejeli boste obvestilo, da se aplikacija izvaja. Po odklepanju naprave bi morali videti okno dejavnosti aplikacije.

Jeff Friesen

Več o odpravljanju napak

Oglejte si Googlov »Odpravljanje napak v aplikaciji«, če želite izvedeti več o odpravljanju napak v Android Studio; na primer, kako uporabiti različne vrste mejnih vrednosti.

Odpravljanje napak z GAPID

Čeprav tukaj nismo zajeti, priporočam, da si ogledate orodje za odpravljanje napak GAPID: Graphics API, zbirko orodij za odpravljanje napak, ki vam omogočajo pregled, prilagajanje in predvajanje klicev iz aplikacije za Android v grafični gonilnik.

Pregled kode z Lintom

Ne glede na to, kako natančno ga pišete, vaša izvorna koda verjetno vsebuje napake, slogovne težave in se lahko sklicuje na vire, ki so iz takšnih ali drugačnih razlogov neaktivni. A linter je vrsta orodja, ki v izvorni kodi išče dokaze o teh in drugih delih grdega puha, o čemer poroča razvijalcu.

Lint je vgrajena povezava za Android SDK. Z njim lahko poiščete težave, kot so zastareli elementi in klici API, ki jih vaš ciljni API ne podpira.

Če želite zagnati Lint v Android Studio, izberite Preglejte kodo ... Iz Analizirajte meni. S tem aktivirate Navedite obseg pregleda pogovorno okno.

Jeff Friesen

V pogovornem oknu izberite želeni obseg (v tem primeru celoten projekt) in kliknite v redu za začetek pregleda. Rezultati bodo prikazani v Rezultati inšpekcijskega pregleda okno, kjer so razvrščeni po kategorijah.

Jeff Friesen

V svoji naravi je Lint izbral nekaj kosov dlake, ki bi sicer lahko natrpali kodo aplikacije. Ko opazite, lahko enostavno popravite tri opozorila Java, prikazana na sliki 8: preprosto prijavite androidAnimationzasebno in odstranite odlitke iz obeh findViewById () klici metode.

Več o Lintu

Oglejte si »Izboljšajte kodo s preverjanjem dlačic«, če želite izvedeti več o uporabi Linta v programu Android Studio in izvedeti več o samostojnem orodju Lint za Android SDK.

Namestitev in uporaba vtičnikov za Android Studio

Čeprav imajo vgrajena orodja prednost, so številna druga orodja na voljo kot vtičniki. V tem razdelku si bomo ogledali tri vtičnike za izboljšanje produktivnosti kodiranja v Android Studio:

  • Ideja ADB
  • Codota
  • Vtičnik Lombok

Upravitelj vtičnikov za Android Studio

Upravitelj vtičnikov za Android Studio zelo olajša iskanje in namestitev vtičnikov. Aktivirajte upravitelja vtičnikov tako, da izberete mapa >Nastavitve čemur sledi Vtičniki Iz Nastavitve pogovorno okno:

Jeff Friesen

Nato kliknite Brskaj po skladiščih ... za vklop Brskaj po skladiščih pogovorno okno, ki vsebuje celoten seznam podprtih vtičnikov. S tem pogovornim oknom bomo izbrali svoj prvi vtičnik, ADB Idea.

Jeff Friesen

Povečajte svojo produktivnost Androida

Bližnjice kode: ADB Idea

Ideja ADB pospešuje vsakodnevni razvoj Androida z zagotavljanjem hitrega dostopa do pogosto uporabljenih ukazov ADB, na primer za zagon in odstranitev aplikacije.

Izberite Ideja ADB na seznamu vtičnikov repozitorija, nato kliknite Namestite . Android Studio nadaljuje s prenosom in namestitvijo vtičnika. Nato se ponovno označi Namestite do Znova zaženite Android Studio. Za vsak vtičnik sem moral po kliku znova izbrati vtičnik Znova zaženite Android Studioin nato še enkrat kliknite ta gumb, da znova zaženete Android Studio.

Jeff Friesen

Ko je Android Studio nameščen, vam omogoča dostop do ADB Idea z njegovega Orodja meni. Izberite Orodja> Ideja ADB in v ustreznem pojavnem meniju izberite ustrezen ukaz.

Jeff Friesen

Ko sem izbral ADB Restart App, Sem opazil naslednja sporočila v Zapisnik okno, kot tudi znova zagnana aplikacija na napravi Amazon Kindle.

Jeff Friesen

Poiščite uporabno kodo: Codota

Lahko uporabite Codota vtičnik za dostop do iskalnika Codota, ki vam omogoča, da skozi milijone javno dostopnih delčkov izvorne kode Java najdete rešitve za težave s kodiranjem Androida.

Jeff Friesen

Izberite Codota na seznamu vtičnikov repozitorija in nato kliknite Namestite . Ko bo Android Studio naložil in namestil vtičnik, ga bo znova označil Namestite gumb za Znova zaženite Android Studio. Ponovni zagon aktivira Codota.

Po ponovnem zagonu boste naleteli na Preverjanje pristnosti Codota pogovorno okno. Kliknite povezavo in sledite navodilom za prejem žetona. Nato prilepite žeton v prej omenjeno pogovorno okno in kliknite Pojdi.

Jeff Friesen

Android Studio vam omogoča dostop do Codote tako, da v oknu urejevalnika z desno miškino tipko kliknete kodo Java in izberete Pridobite ustrezne primere element menija, kot je prikazano na sliki 16.

Jeff Friesen

Če kliknete ta element menija, se v brskalniku prikaže stran z ustreznimi primeri kode. Na primer na naslednji strani so primeri, ki so pomembni za findViewById:

Jeff Friesen

Samodejno ustvari kodo Java: Lombok

Projekt Lombok ponuja nabor pripisov, ki jih lahko uporabite namesto kode, s čimer prihranite čas pri ročnem pisanju te kode.

Jeff Friesen

Izberite Vtičnik Lombok na seznamu vtičnikov v repozitoriju in kliknite Namestite. Ko Android Studio prenese in namesti vtičnik, vas bo to pozval Znova zaženite Android Studio. Ponovni zagon aktivira vtičnik Lombok.

$config[zx-auto] not found$config[zx-overlay] not found