Programmēšana

Android Studio iesācējiem, 4. daļa: Atkļūdošanas rīki un produktivitātes spraudņi

Atjaunināts: 2020. gada janvāris.

Android Studio piedāvā bagātīgu iebūvēto izstrādes rīku paleti un vēl bagātīgāku spraudņu ekosistēmu. Pirmie trīs šīs sērijas raksti bija vērsti uz instalēšanu un iestatīšanu, kā arī uz vienkāršas mobilās lietotnes kodēšanu un palaišanu ar Android Studio. Tagad jūs iepazīsities ar dažiem progresīvākajiem rīkiem: trim iebūvētiem rīkiem un trim spraudņiem atkļūdošanai un Android lietojumprogrammas koda kvalitātes un produktivitātes uzlabošanai.

Šajā rakstā ir aprakstīti šādi Android Studio rīki:

Iebūvēti atkļūdošanas rīki

  • Logcat
  • Atkļūdošana
  • Lint

Spraudņi izstrādātāju produktivitātei

  • ADB ideja
  • Codota
  • Lombokas spraudnis

Kas jauns Android Studio 3.5 versijā

Uzziniet, ko meklēt jaunākajā Android Studio versijā, ieskaitot atbalstu Kotlin un atmiņas pārvaldības uzlabojumus un lietotāja saskarnes atsaucību.

Android lietotņu reģistrēšana un atkļūdošana

Buggy lietotne ir drošs veids, kā aizdzīt potenciālos klientus. Logcat un Debug ir divi rīki, kas ir iebūvēti Android Studio, kurus varat izmantot, lai identificētu un novērstu Android koda kļūdas.

Android reģistrēšana: Logcat

Katram "bagiju" scenārijam jums var nebūt vajadzīgs vai vēlaties pilnvērtīgu atkļūdotāju. Dažos gadījumos pietiek reģistrēt un labot noteiktu mainīgo vērtības. Android Studio Logcat ir lieliski piemērots šim uzdevumam.

Logcat ir komandrindas rīks (integrēts Android Debug Bridge - ADB), kas izgāž a žurnāls sistēmas ziņojumu, kas var palīdzēt atrast un novērst problēmas jūsu kodā. Ziņojumi ietver kaudzes pēdas, kad ierīce rada kļūdu, un reģistrē ziņojumus, kurus esat mērķtiecīgi ievietojis android.util.Log klasē. Logcat ir tik noderīgs, ka tas ir integrēts tieši Android Studio, kur tam varat piekļūt no Skats izvēlni vai rīka loga joslu.

Džefs Frīzens

The Logcat logs ir sadalīts horizontālā nolaižamo sarakstu un citu vadīklu rindā, kam seko ziņojuma apgabals. No kreisās uz labo vadīklas ir:

  • Nolaižamais saraksts, kas identificē pievienotās ierīces un emulatorus. (Skatīt 1. attēlu.)
  • Nolaižamais saraksts, kas identificē instalētās APK pakotnes atlasītajā ierīcē.
  • Mežizstrādes līmeņu nolaižamais saraksts:
    • Mērķis: rādīt visus ziņojumus.
    • Atkļūdošana: parādiet atkļūdošanas žurnāla ziņojumus, kas ir noderīgi tikai izstrādes laikā, kā arī nolaižamajā sarakstā zemākus ziņojumu līmeņus.
    • Informācija: parādiet paredzamos žurnāla ziņojumus parastai lietošanai, kā arī zemāk esošos ziņojumu līmeņus nolaižamajā sarakstā.
    • Brīdināt: parādiet iespējamās problēmas, kas vēl nav kļūdas, kā arī nolaižamajā sarakstā zemāk esošo ziņojumu līmeni.
    • Kļūda: parādīt problēmas, kas izraisījušas kļūdas - izmesti izņēmumi, kā arī ziņojuma Assert līmenis.
    • Apgalvojiet: parādiet problēmas, kurām izstrādātājs sagaida, ka tām nekad nevajadzētu notikt.
  • Meklēšanas josla, kurā tiek parādīti tikai tie ziņojumi, kas satur šajā vadīklā ievadīto tekstu.
  • Atzīmēšanas rūtiņa, kas ļauj meklēšanas joslā izmantot regulāras izteiksmes. Piemēram, 1. attēla kontekstā jūs varat norādīt SystemClock | AlarmManager (t.i., ziņojumā jāietver vai nu vārds).
  • Nolaižamais saraksts ziņojumu filtrēšanai, ieskaitot šādas opcijas:
    • Nav filtru (noklusējums) izraisa visu izvēlētās ierīces ziņojumu parādīšanos neatkarīgi no izvēlētās APK pakotnes.
    • Rādīt tikai atlasīto lietojumprogrammu atlasītajā ierīcē parāda tikai tos ziņojumus par atlasīto APK pakotni, kuri ir atbilstošā žurnāla līmenī vai zemāk.
    • Rediģēt filtra konfigurāciju ļauj izveidot pielāgotu filtru.

Avota kodā varat ievietot zvanus uz dažādiem android.util.Log metodes ziņojumu reģistrēšanai. Piemēram, jūs varat piezvanīt public static int i (virknes tags, virknes ziņojums) reģistrēties INFOlīmeņa ziņojums vai publiskais statiskais int w (virknes tags, virknes ziņojums) reģistrēties a BRĪDINĀTlīmeņa ziņa.

Jebkurai metodei virkne tika nodota tagu identificē ziņojuma avotu (piem., metodi, kādā tika izsaukta šī reģistrēšanas metode), un virkni nodeva tālāk ziņojums identificē reģistrējamo ziņojumu.

Varat arī piezvanīt System.out'smiltis System.err's izdrukāt () un println () metodes. Zvani uz System.out metodes paveic to pašu, ko log.i () aicina; zvani uz System.err metodes paveic to pašu, ko log.w () zvani.

Džefs Frīzens

2. attēlā vienīgie parādītie ziņojumi ir piemēri lietotnes procesam, kas darbojas emulētajā Nexus 5X ierīcē. Turklāt šajos ziņojumos jābūt onCreate un jāpieņem Rādīt tikai atlasīto lietojumprogrammu filtru.

Vairāk par Logcat

Lai uzzinātu vairāk par Logcat, skatiet Google sadaļu “Rakstīt un skatīt žurnālus, izmantojot Logcat”. Izpēti arī android.util.Log klases dokumentācija.

Atkļūdošana Android: atkļūdošana

Logcat izmantošana, lai reģistrētos un labotu kodu, ir piemērota ļoti vienkāršām lietotnēm. Sarežģītākām lietotnēm šis atkļūdošanas veids var būt garlaicīgs. Tā vietā jūs vēlaties kaut ko tādu, kas ļauj atkļūdot lietotnes izpildāmo kodu. Android Studio iebūvētais atkļūdošanas rīks piedāvā daudzas iespējas, tostarp šādas:

  • Atlasiet ierīci, kurā atkļūdot savu lietotni.
  • Iestatiet pārtraukuma punktus lietojumprogrammas kodā (Java, Kotlin vai C / C ++).
  • Pārbaudiet mainīgos un novērtējiet izteiksmes izpildlaikā.

Pirms šī atkļūdošanas rīka izmantošanas ir daži priekšnoteikumi:

  1. Ja jūsu lietotnē ir iekļauts C / C ++ avota kods, jums būs jāinstalē LLDB no SDK pārvaldnieka (skat. 3. attēlu). Par laimi, šīs sērijas lietotnes piemērs (W2A) nesatur C / C ++ kodu, tāpēc mēs varam ignorēt šo priekšnoteikumu.

    Džefs Frīzens

  2. Pievienotā ierīcē ir jāiespējo atkļūdošana. Tomēr, ja izmantojat emulatoru (kuru mēs izmantojam šajā piemērā), varat ignorēt šo priekšnoteikumu. Atkļūdošana pēc noklusējuma ir iespējota emulētās ierīcēs.
  3. Jums jāpalaiž atkļūdojams būvēšanas variants. Pēc noklusējuma tas ir izveidots jums, tāpēc daudzos gadījumos (ieskaitot šo piemēru) jums par to nav jāuztraucas.

Izpildīsim ātru atkļūdošanas sesiju.

Vienkārša Android atkļūdošana

Pieņemot, ka izmantojat Android Studio, izmantojot lietojumprogrammas parauga redaktora logu (W2A.java), atveriet, pirmais solis ir iestatīt pārtraukuma punktu public void onCreate (pakete saglabātaInstanceState) līnija. Iestatiet pārtraukuma punktu, iezīmējot šo līniju un veicot kādu no šīm darbībām:

  • Noklikšķiniet uz notekas laukuma kreisajā pusē no līnijas; pēc atbildes līnijai vajadzētu kļūt sārtai.
  • Atlasiet Pārslēgt līnijas pārtraukuma punktu no Palaist izvēlne.
  • Nospiediet Ctrl un F8 vienlaicīgi.

Tagad atlasiet Atkļūdot lietotni no Palaist izvēlnē vai rīkjoslā noklikšķiniet uz atbilstošās ikonas. Ja emulators nedarbojas, jūs ievērosiet Atlasiet Izvietošanas mērķis dialoglodziņš. Es izvēlējos Nexus 5X API 15 un noklikšķinājis labi.

Kamēr jūs gaidāt, līdz emulētā ierīce būs tiešsaistē, noklikšķiniet uz Atkļūdošana rīkjoslas loga joslā, lai parādītu Atkļūdošana logs. Galu galā jums vajadzētu redzēt kaut ko līdzīgu 4. attēlam.

Džefs Frīzens

The Atkļūdošana logā ir redzamas ikonas, kā pāriet, ievadīt metodi un iziet no tās, kā arī citas darbības. 5. attēlā parādīts, kas notiek, kad mēs pārkāpt pāri metode.

Džefs Frīzens

Noklikšķiniet uz atbilstošās ikonas un atlasiet Pārkāpt pāri no Palaist izvēlni vai nospiediet F8. Tas ļauj mums turpināt dziļāk onCreate () metodi, vienlaikus pārspējot katru metodi.

Atlasiet līniju ar aizvēršanu } raksturs onCreate () metodi, pēc tam atlasiet Palaidiet uz kursoru. Jūs saņemsit paziņojumu, ka programma darbojas. Pēc ierīces atbloķēšanas jums vajadzētu redzēt lietotnes darbības loga piemēru.

Džefs Frīzens

Vairāk par atkļūdošanu

Apskatiet Google sadaļu “Atkļūdot savu lietotni”, lai uzzinātu vairāk par atkļūdošanu Android Studio; piemēram, kā izmantot dažāda veida pārtraukumpunktus.

Atkļūdošana ar GAPID

Lai gan šeit tas nav apskatīts, es iesaku pārbaudīt GAPID: Graphics API Debugger - atkļūdošanas rīku kolekciju, kas ļauj pārbaudīt, pielāgot un atkārtot zvanus no Android lietotnes uz grafikas draiveri.

Kodu pārbaude ar Lint

Neatkarīgi no tā, cik rūpīgi jūs to rakstāt, avota kods, iespējams, satur kļūdas, stilistiskas problēmas, un tas var atsaukties uz resursiem, kas ir neaktīvi viena vai otra iemesla dēļ. A linter ir rīka veids, kas skenē pirmkodu, lai atrastu pierādījumus par šiem un citiem nejaukajiem pūkumiem, par kuriem tas ziņo izstrādātājam.

Lint ir iebūvēts linteris Android SDK. Varat to izmantot, lai atrastu tādas problēmas kā novecojuši elementi un API izsaukumi, kurus neatbalsta jūsu mērķa API.

Lai palaistu Lint no Android Studio, atlasiet Pārbaudīt kodu ... no Analizēt izvēlne. Šādi rīkojoties, tiek aktivizēta Norādiet pārbaudes jomu dialoglodziņš.

Džefs Frīzens

Dialoglodziņā atlasiet vajadzīgo darbības jomu (šajā gadījumā visu projektu) un pēc tam noklikšķiniet uz labi sākt pārbaudi. Rezultāti tiks parādīti Pārbaužu rezultāti logā, kur tie ir sakārtoti pēc kategorijas.

Džefs Frīzens

Patiesībā pēc savas būtības, Lint ir izvēlējies dažus pūkas gabalus, kas citādi varētu pārblīvēt lietojumprogrammas kodu. Kad esat pamanījis, ir viegli salabot trīs Java brīdinājumus, kas parādīti 8. attēlā: vienkārši paziņojiet androidAnimācijaPrivāts un noņemiet ģipšus no abiem findViewById () metodes izsaukumi.

Vairāk par Lintu

Lai uzzinātu vairāk par Lint lietošanu Android Studio un uzzinātu par Android SDK atsevišķo rīku Lint, skatiet sadaļu “Uzlabojiet savu kodu, izmantojot savārstījuma pārbaudes”.

Android Studio spraudņu instalēšana un izmantošana

Lai gan iebūvētajiem rīkiem ir savs nopelns, daudzi citi rīki ir pieejami kā spraudņi. Šajā sadaļā aplūkosim trīs spraudņus kodēšanas produktivitātes uzlabošanai Android Studio:

  • ADB ideja
  • Codota
  • Lombokas spraudnis

Android Studio spraudņu pārvaldnieks

Android Studio spraudņu pārvaldnieks ļauj ļoti viegli atrast un instalēt spraudņus. Aktivizējiet spraudņu pārvaldnieku, atlasot Fails >Iestatījumi sekoja Spraudņi no Iestatījumi dialoglodziņš:

Džefs Frīzens

Pēc tam noklikšķiniet uz Pārlūkot krātuves ... lai aktivizētu Pārlūkot krātuves dialoglodziņš, kurā parādīts pilns atbalstīto spraudņu saraksts. Mēs izmantosim šo dialogu, lai izvēlētos mūsu pirmo spraudni ADB Idea.

Džefs Frīzens

Palieliniet savu Android produktivitāti

Kodu saīsnes: ADB ideja

ADB ideja paātrina Android ikdienas attīstību, nodrošinot ātru piekļuvi parasti izmantotajām ADB komandām, piemēram, lietotnes palaišanai un atinstalēšanai.

Atlasiet ADB ideja spraudņu krātuves sarakstā noklikšķiniet uz Uzstādīt pogu. Android Studio turpina lejupielādēt un instalēt spraudni. Pēc tam tas atkārtoti uzlīmē Uzstādīt uz Restartējiet Android Studio. Katram spraudnim pēc noklikšķināšanas man bija jāatlasa spraudnis Restartējiet Android Studioun pēc tam otrreiz noklikšķiniet uz šīs pogas, lai restartētu Android Studio.

Džefs Frīzens

Pēc instalēšanas Android Studio ļauj piekļūt ADB idejai no tās Rīki izvēlne. Atlasiet Rīki> ADB ideja un izvēlētajā uznirstošajā izvēlnē izvēlieties atbilstošo komandu.

Džefs Frīzens

Pēc tam, kad es izvēlējos ADB restartējiet lietotni, Es novēroju šādus ziņojumus Notikumu žurnāls logu, kā arī restartēto lietotni manā Amazon Kindle ierīcē.

Džefs Frīzens

Atrodiet izmantojamo kodu: Codota

Jūs varat izmantot Codota spraudnis, lai piekļūtu meklētājprogrammai Codota, kas ļauj pārlūkot miljoniem publiski pieejamu Java avota koda fragmentu, lai atrastu risinājumus Android kodēšanas problēmām.

Džefs Frīzens

Atlasiet Codota spraudņu krātuves sarakstā un pēc tam noklikšķiniet uz Uzstādīt pogu. Pēc tam, kad Android Studio būs lejupielādējis un instalējis spraudni, tas atkārtoti iezīmēs Uzstādīt pogu uz Restartējiet Android Studio. Restartējot, tiek aktivizēta Codota.

Pēc restartēšanas jūs sastopaties ar Codota autentifikācija dialoglodziņš. Noklikšķiniet uz saites un izpildiet norādījumus, lai saņemtu marķieri. Pēc tam ielīmējiet marķieri iepriekš minētajā dialoglodziņā un noklikšķiniet Ej.

Džefs Frīzens

Android Studio ļauj piekļūt Codota, redaktora logā ar peles labo pogu noklikšķinot uz Java koda un atlasot Iegūstiet atbilstošus piemērus izvēlnes vienums, kā parādīts 16. attēlā.

Džefs Frīzens

Noklikšķinot uz šī izvēlnes vienuma, pārlūkprogramma parāda lapu ar atbilstošiem kodu piemēriem. Piemēram, nākamajā lappusē ir piemēri, kas attiecas uz findViewById:

Džefs Frīzens

Autogenerēt Java kodu: Lombok

Projekts Lombok piedāvā anotāciju komplektu, ko varat izmantot katlu koda vietā, tādējādi ietaupot laiku, izrakstot šo kodu ar rokām.

Džefs Frīzens

Atlasiet Lombokas spraudnis spraudņu krātuves sarakstā noklikšķiniet uz Uzstādīt. Pēc tam, kad Android Studio būs lejupielādējis un instalējis spraudni, tas jums to aicinās Restartējiet Android Studio. Restartējot, tiek aktivizēts Lombok spraudnis.

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