Som Android-udvikler bruger vi alle Android Studio til at udvikle vores applikationer. Der er mange andre editorer, der kan bruges til Android-appudvikling, men det bedste, der tiltrækker mig til at bruge Android Studio, er den støtte, som det giver Android-udviklerne. Støtten kan være i form af auto-suggestion eller i form af at vise fejl i vores kode (i alle filer i vores projekt).
Så i denne blog vil vi se en af de bedste funktioner i Android Studio, som hjælper os med at forbedre vores måde at skrive fejlfri kode på, og den funktion er Lint. De emner, der vil blive diskuteret i denne blog, er:
- Hvad er Lint?
- Konfiguration af lint
- Hjælp til Lint
- Brug af Baseline
- Manuelt kørte inspektioner
- Konklusion
Så, lad os komme i gang.
Hvad er Lint?
Lint er et værktøj til kodeskanning, der leveres af Android Studio til at identificere, foreslå og rette den forkerte eller risikable kode, der er til stede i projektet.
Lint er som en fuldgyldig stakanalyse-ramme
Vi har alle brugt Lint, siden vi begyndte at bruge Android Studio, fordi Android Studio som standard giver støtte til Lint i alle vores projekter. De problemer, der opdages i din kode af Lint, vil blive rapporteret til dig med nogle forslag og et advarselsniveau. Du kan bruge forslagene til at rette din kode. Den bedste del af Lint er, at du kan bruge Lint efter dit behov. Hvis du ønsker at se en bestemt type fejl i dit projekt, vil Lint kun vise dig den pågældende type fejl. Lint kan tilpasses i sin natur. Som standard kører Android Studio inspektionsprocessen, når du bygger dit projekt, men bortset fra dette kan du inspicere din kode ved hjælp af Lint manuelt eller fra kommandolinjen.
Det følgende billede viser, hvordan Lint fungerer:
Billedet er venligst udlånt: Android Developer website
Hele processen med lint kan sammenfattes i tre trin:
- Udarbejdelse af lint.xml-filen: Du kan tilpasse Lint-kontrollerne i lint.xml-filen. I denne fil kan du skrive de kontroller, som du ønsker at medtage, og ignorere de kontroller, som du ikke ønsker at medtage. Hvis du f.eks. ønsker at kontrollere problemet med ubrugte variabler og ikke ønsker at kontrollere for navngivningsproblemer, kan du gøre dette i lint.xml-filen. Bortset fra dette kan du også tilpasse Lint-kontrollerne manuelt. Vi vil se, hvordan du foretager manuelle Lint-kontroller i den næste del af denne blog.
- Programkildefil: Det næste trin er at vælge de kildefiler, som du ønsker at udføre Lint-kontrollen på. Det kan være din .java-fil eller .kt-fil eller en hvilken som helst xml-fil i dit projekt.
- Lint-værktøjet: Endelig tager lint-værktøjet kildefilerne og lint.xml-filerne og kontrollerer for strukturelle kodeproblemer og foreslår nogle forbedringer i koden, hvis der er nogen. Det foreslås at bruge lint-forslaget, før vi udgiver vores app.
Hvornår skal du bruge Lint?
Hvis du ønsker at udgive din app i Play Store eller en anden app-butik, så vil du gerne have en fejlfri app. Til dette formål skal du udføre så mange test på din app manuelt. Men hvis du ønsker at slippe for nogle af de manuelle test, kan du bruge Lint i dit projekt. Du kan inspicere hver eneste fil i din kode for at finde nogle fejl, og Lint vil identificere fejlene og foreslå nogle svar. Disse fejl eller advarsler kan være af:
- Ubrugte variabler
- Uhåndterede undtagelser
- Imports, der ikke bruges i projektet, og mange flere
Så inden du offentliggør din app, bør du bruge Lint til at inspicere din kode fuldt ud.
Du kan også konfigurere Lint-kontrollen for forskellige niveauer i dit projekt:
- Globalt (hele projektet)
- Projektmodul
- Produktionsmodul
- Testmodul
- Opne filer
- Klasse hierarki
- Version Control System (VCS) scopes
Konfiguration af Lint
For at kunne bruge Lint eller blot køre inspektioner i dit projekt, kan du tilføje Lint-inspektion i lint.xml-filen, eller du kan manuelt vælge listen over problemer, der skal konfigureres af lint i dit projekt ved hjælp af Android Studio.
- Konfigurer lint-filen: Hvis du vil angive manuelle kontroller i din app, skal du tilføje listen over problemer, der skal konfigureres i lint.xml-filen. Hvis du laver en ny lint.xml-fil, skal du sørge for at placere den i rodmappen for dit Android-projekt.
Følgende er et eksempel på lint.xml-filen:
<?xml version="1.0" encoding="UTF-8"?><lint> <!-- Disable the given check in this project --> <issue severity="ignore" /> <!-- Ignore the ObsoleteLayoutParam issue in the specified files --> <issue> <ignore path="res/layout/activation.xml" /> <ignore path="res/layout-xlarge/activation.xml" /> </issue> <!-- Ignore the UselessLeaf issue in the specified file --> <issue> <ignore path="res/layout/main.xml" /> </issue> <!-- Change the severity of hardcoded strings to "error" --> <issue severity="error" /></lint>
- Konfigurer lint manuelt: Som standard kontrollerer lint for en række problemer, men ikke alle problemer. Dette gøres ikke, fordi hvis du vil køre alle de problemkontroller, som lint kan kontrollere for, vil Android Studio’s ydeevne blive langsommere. Derfor bruges der som standard kun et begrænset antal lint-kontroller i Android Studio. Men du kan tilføje flere kontroller og fjerne kontroller fra lint ved at følge nedenstående trin:
Gå til Filer > Indstillinger > Editor > Inspektioner, og markér derefter de problemkontroller, som du vil have udført af lint
Hjælpende lint
Der er mange gange, hvor du skriver en risikabel eller fejlfyldt kode, men lint viser ingen fejl eller advarsel til din kode. Skriv f.eks. nedenstående kode i Android Studio:
fun updateUi() { // code goes here networkRequest()}fun networkRequest() { // code goes here }
Overstående kodelinjer viser dig ikke nogen fejl, men logisk set burde den vise en fejl, fordi der under opdateringen af brugergrænsefladen ikke bør kaldes en netværksanmodning. Så det, du kan gøre her, er at hjælpe lint.
Hjælp Lint hjælper dig
Ja, hvis du vil hjælpe lint, så vil lint også hjælpe dig. Så for at hjælpe lint med at forstå koden på en mere præcis måde, skal du altid forsøge at bruge annotationer i dit projekt for at hjælpe lint med at forstå koden mere præcist. Skriv nu det samme nogle, som du har skrevet tidligere, og tjek derefter for fejl:
@UiThreadfun updateUi() { // code goes here networkRequest()}@WorkerThreadfun networkRequest() { // code goes here}
Så hjælp Lint ved at bruge annotationer i din kode.
Brug af baseline
Hvis du arbejder på et meget stort projekt og er interesseret i at finde de fremtidige fejl, der kan komme, mens du tilføjer nogle flere koder til dit projekt, så kan du tilføje en baseline til dit projekt, og ved at gøre det vil lint generere de fejl, der er opstået efter denne baseline. Så lint vil ignorere de tidligere kodeproblemer og vil kun advare dig om de nye kodelinjer, der er tilføjet efter baseline.
For at tilføje en baseline i dit projekt skal du tilføje nedenstående linje i dit projekts build.gradle-fil:
android { lintOptions { baseline file("lint-baseline.xml") }}
Dette vil oprette en lint-baseline.xml, der vil etablere en baseline for dit projekt. Hvis du vil tilføje en anden baseline, skal du slette filen og lint igen.
En anden ting, som du kan gøre her, er, at du kun kan aktivere enhver type problemkontrol her. For eksempel skal du skrive nedenstående kode for at aktivere kontrollen af Kotlin-interoperabilitet:
android { lintOptions { baseline file("lint-baseline.xml") }}
enable "Interoperability"
Manuelt køre inspektioner
For at inspicere en fil manuelt i Android Studio skal du følge nedenstående trin:
Stræk 1: Gå til den fil, du vil inspicere.
Stræk 2: Højreklik og gå derefter til Analyser > Inspicer kode. Nedenstående vindue vil blive åbnet:
Billede høflighed: Android Developer website
Her kan du vælge dit inspektionsområde, dvs. hele projektet eller modulet eller blot en fil. Når du har valgt omfanget, skal du klikke på OK.
Det følgende vindue vil blive åbnet:
Billede høflighed: Android Developer website
Der vil være en liste over fejlkategorier, -typer og -problemer. Du kan se inspektionsresultatet ved at udvide fejlen i trævisningen i venstre rude.
I den anden rude, dvs. højre rude, vises inspektionsrapporten for den valgte fejl.
Konklusion
I denne blog lærte vi, hvordan man bruger Lint i Android Studio. Vi så, at hvis vi ønsker at analysere vores kode, så behøver vi ikke gøre det manuelt. Android Studio indeholder et kodekontrolværktøj Lint, der hjælper os med at rense vores kode og bruge den nødvendige og rigtige kode til applikationsudvikling.
Så brug Lint til at fjerne forskellige typer fejl i dit projekt, og hjælp også lint til at hjælpe dig.
Keep Learning 🙂
Team MindOrks.