Programování

Android Studio pro začátečníky, Část 4: Ladicí nástroje a doplňky produktivity

Aktualizováno: leden 2020.

Android Studio nabízí bohatou paletu integrovaných vývojových nástrojů a ještě bohatší ekosystém pluginů. První tři články v této sérii se zaměřily na instalaci a nastavení a kódování a provozování jednoduché mobilní aplikace s Android Studio. Nyní se seznámíte s některými pokročilejšími nástroji: třemi vestavěnými nástroji a třemi doplňky pro ladění a zlepšení kvality a produktivity kódu aplikace pro Android.

Tento článek představuje následující nástroje pro Android Studio:

Integrované ladicí nástroje

  • Logcat
  • Ladit
  • Lint

Pluginy pro produktivitu vývojářů

  • Nápad ADB
  • Codota
  • Plugin Lombok

Co je nového v Android Studio 3.5

Zjistěte, co hledat v nejnovější verzi Android Studio, včetně podpory Kotlin a vylepšení správy paměti a odezvy uživatelského rozhraní.

Protokolování a ladění aplikací pro Android

Buginy aplikace je jistý způsob, jak zahnat potenciální zákazníky. Logcat a Debug jsou dva nástroje, které jsou součástí Android Studio a které můžete použít k identifikaci a opravě chyb v kódu Android.

Logování Android: Logcat

Možná nebudete potřebovat nebo chtít plnohodnotný debugger pro každý scénář „buggy“. V některých případech stačí zaznamenat a opravit hodnoty určitých proměnných. Logcat pro Android Studio je pro tento úkol ideální.

Logcat je nástroj příkazového řádku (integrovaný do Android Debug Bridge - ADB), který vypíše a log systémových zpráv, které vám pomohou najít a opravit problémy ve vašem kódu. Zprávy zahrnují trasování zásobníku, když zařízení vyvolá chybu, a protokolovat zprávy, které jste záměrně vložili do android.util.Log třída. Logcat je tak užitečný, že byl integrován přímo do Android Studio, kde k němu máte přístup z Pohled nabídka nebo lišta okna nástroje.

Jeff Friesen

The Logcat okno je rozděleno do vodorovné řady rozevíracích seznamů a dalších ovládacích prvků následovaných oblastí zpráv. Zleva doprava jsou ovládací prvky:

  • Rozevírací seznam identifikující připojená zařízení a emulátory. (Viz obrázek 1.)
  • Rozevírací seznam identifikující nainstalované balíčky APK ve vybraném zařízení.
  • Rozevírací seznam úrovní protokolování:
    • Podrobné: zobrazit všechny zprávy.
    • Debug: zobrazí zprávy protokolu ladění, které jsou užitečné pouze během vývoje, stejně jako nižší úrovně zpráv v rozevíracím seznamu.
    • Informace: zobrazit očekávané zprávy protokolu pro běžné použití a také úrovně zpráv v rozevíracím seznamu níže.
    • Varovat: v rozevíracím seznamu zobrazte možné problémy, které ještě nejsou chybami, a také úrovně zpráv níže.
    • Chyba: zobrazit problémy, které způsobily chyby - vyvolané výjimky, stejně jako úroveň zprávy Assert.
    • Assert: ukázat problémy, které vývojář očekává, že by se nikdy neměly stát.
  • Vyhledávací lišta, kde se zobrazí pouze zprávy obsahující text, který zadáte do tohoto ovládacího prvku.
  • Zaškrtávací políčko, které vám umožní používat regulární výrazy ve vyhledávací liště. Například v kontextu obrázku 1 můžete určit SystemClock | AlarmManager (tj. zpráva musí obsahovat jedno slovo).
  • Rozevírací seznam pro filtrování zpráv, včetně následujících možností:
    • Žádné filtry (výchozí) způsobí, že se zobrazí všechny zprávy pro vybrané zařízení bez ohledu na vybraný balíček APK.
    • Zobrazit pouze vybranou aplikaci představuje pouze ty zprávy pro vybraný balíček APK na vybraném zařízení, které mají příslušnou úroveň protokolu nebo nižší.
    • Upravit konfiguraci filtru umožňuje vytvořit vlastní filtr.

Ve zdrojovém kódu můžete vkládat hovory na různé android.util.Log metody protokolování zpráv. Můžete například zavolat public static int i (String tag, String msg) přihlásit se INFO- úroveň zprávy, nebo public static int w (String tag, String msg) přihlásit se VAROVAT-úrovňová zpráva.

Pro obě metody byl řetězec předán štítek identifikuje zdroj zprávy (např. metodu, ve které byla tato metoda protokolování volána) a řetězec předán zpráva identifikuje protokolovanou zprávu.

Případně můžete zavolat System.outa System.errje tisk() a println () metody. Volání do System.out metody dosáhnout stejné věci jako log.i () hovory; volání na System.err metody dosáhnout stejné věci jako log.w () hovory.

Jeff Friesen

Na obrázku 2 jsou pouze zobrazené zprávy pro příklad procesu aplikace spuštěného na emulovaném zařízení Nexus 5X. Tyto zprávy dále musí obsahovat onCreate a být přijati Zobrazit pouze vybranou aplikaci filtr.

Více o Logcat

Podívejte se na Google „Psaní a zobrazení protokolů pomocí Logcat“, kde se dozvíte více o Logcat. Také si prostudujte android.util.Log dokumentace třídy.

Ladění Androidu: Ladění

Použití Logcatu k protokolování a opravě kódu je v pořádku pro velmi jednoduché aplikace. U složitějších aplikací může být tato forma ladění zdlouhavá. Místo toho budete chtít něco, co vám umožní ladit spustitelný kód aplikace. Integrovaný nástroj pro ladění Android Studio nabízí mnoho funkcí, včetně následujících:

  • Vyberte zařízení, na kterém chcete ladit aplikaci.
  • Nastavit zarážky v kódu aplikace (Java, Kotlin nebo C / C ++).
  • Prozkoumejte proměnné a vyhodnoťte výrazy za běhu.

Před použitím tohoto ladicího nástroje existují určité předpoklady:

  1. Pokud vaše aplikace obsahuje zdrojový kód C / C ++, budete si muset nainstalovat LLDB ze Správce SDK (viz obrázek 3). Naštěstí ukázková aplikace pro tuto sérii (W2A) neobsahuje kód C / C ++, takže můžeme tento předpoklad ignorovat.

    Jeff Friesen

  2. Na připojeném zařízení musíte povolit ladění. Pokud však používáte emulátor (kterým jsme pro tento příklad), můžete tento předpoklad ignorovat. Ladění je ve výchozím nastavení povoleno na emulovaných zařízeních.
  3. Musíte spustit laditelnou variantu sestavení. Ve výchozím nastavení je to vytvořeno pro vás, takže v mnoha případech (včetně tohoto příkladu) si s tím nemusíte dělat starosti.

Pojďme projít rychlou relací ladění.

Jednoduché ladění Androidu

Za předpokladu, že používáte Android Studio s oknem editoru pro ukázkovou aplikaci (W2A.java) Otevřete, prvním krokem je nastavit zarážku na public void onCreate (Bundle savedInstanceState) čára. Nastavením zarážky zvýrazněte tento řádek a proveďte jeden z následujících úkonů:

  • Klikněte na oblast okapu nalevo od čáry; čára by měla reagovat růžově.
  • Vybrat Přepnout zarážku řádku z Běh Jídelní lístek.
  • lis Ctrl a F8 zároveň.

Nyní vyberte Ladit 'aplikaci' z Běh nebo klikněte na příslušnou ikonu na panelu nástrojů. Pokud emulátor nefunguje, budete sledovat Vyberte cíl nasazení dialogové okno. vybral jsem Nexus 5X API 15 a kliknul OK.

Zatímco čekáte, až bude emulované zařízení online, klikněte na ikonu Ladit tlačítko na liště okna nástrojů pro zobrazení Ladit okno. Nakonec byste měli vidět něco podobného obrázku 4.

Jeff Friesen

The Ladit okno poskytuje ikony pro překračování, do a z metody a další. Obrázek 5 ukazuje, co se stane, když překročit metoda.

Jeff Friesen

Klikněte na příslušnou ikonu a vyberte Překročit z Běh nebo stiskněte F8. To nám umožňuje postupovat hlouběji do onCreate () metoda při překračování každého volání metody.

Vyberte čáru se zavřením } znak pro onCreate () metoda, poté vyberte Spusťte kurzor. Obdržíte oznámení, že aplikace je spuštěna. Po odemčení zařízení by se mělo zobrazit okno aktivity ukázkové aplikace.

Jeff Friesen

Více o ladění

Podívejte se na Google „Debug your app“ a dozvíte se více o ladění v Android Studio; například, jak používat různé druhy zarážek.

Ladění pomocí GAPID

I když zde není zahrnuto, doporučuji vyzkoušet GAPID: Graphics API Debugger, sbírku ladicích nástrojů, které vám umožňují kontrolovat, vyladit a přehrát volání z aplikace pro Android do grafického ovladače.

Kontrola kódu pomocí Lint

Bez ohledu na to, jak pečlivě jej píšete, váš zdrojový kód pravděpodobně obsahuje chyby, stylistické problémy a může odkazovat na prostředky, které jsou z nějakého důvodu neaktivní. A linter je typ nástroje, který skenuje zdrojový kód a hledá důkazy o těchto a dalších bitech ošklivých chmýří, které hlásí vývojáři.

Lint je integrovaný linter pro Android SDK. Můžete jej použít k vyhledání problémů, jako jsou zastaralé prvky a volání API, která nejsou podporována vaším cílovým API.

Chcete-li Lint spustit z aplikace Android Studio, vyberte Zkontrolovat kód ... z Analyzovat Jídelní lístek. Tímto způsobem aktivujete Určete rozsah kontroly dialogové okno.

Jeff Friesen

V dialogovém okně vyberte požadovaný rozsah (v tomto případě celý projekt) a klikněte na OK zahájit kontrolu. Výsledky se zobrazí v Výsledky inspekce okno, kde jsou uspořádány podle kategorií.

Jeff Friesen

V souladu se svou povahou vybral Lint několik kousků chmýří, které by jinak mohly nepořádek v kódu aplikace. Jakmile si všimnete, je snadné opravit tři varování Java uvedená na obrázku 8: jednoduše deklarovat androidAnimationsoukromé a odstraňte odlitky ze dvou findViewById () volání metod.

Více o Lint

Chcete-li se dozvědět více o používání nástroje Lint ve službě Android Studio a o samostatném nástroji Lint pro Android SDK, podívejte se na část „Vylepšete svůj kód pomocí kontroly vláken“.

Instalace a používání doplňků Android Studio

Zatímco integrované nástroje mají své výhody, mnoho dalších nástrojů je k dispozici jako pluginy. V této části se podíváme na tři pluginy pro zlepšení produktivity vašeho kódování v Android Studio:

  • Nápad ADB
  • Codota
  • Plugin Lombok

Správce pluginů Android Studio

Správce modulů Android Studio usnadňuje hledání a instalaci pluginů. Správce pluginů aktivujete výběrem Soubor >Nastavení následován Pluginy z Nastavení dialogové okno:

Jeff Friesen

Dále klikněte Procházet úložiště ... aktivovat Procházet repozitáře dialogové okno, které představuje úplný seznam podporovaných pluginů. Tento dialog použijeme k výběru našeho prvního pluginu ADB Idea.

Jeff Friesen

Zvyšte produktivitu Androidu

Zkratky kódu: ADB Idea

Nápad ADB zrychluje každodenní vývoj systému Android poskytováním rychlého přístupu k běžně používaným příkazům ADB, jako je spouštění a odinstalování aplikace.

Vybrat Nápad ADB v seznamu doplňků úložiště a poté klikněte na Nainstalujte knoflík. Android Studio pokračuje ve stahování a instalaci pluginu. To pak relabels Nainstalujte na Restartujte Android Studio. U každého pluginu jsem po kliknutí musel znovu vybrat plugin Restartujte Android Studioa poté podruhé klikněte na toto tlačítko, abyste mohli Android Studio restartovat.

Jeff Friesen

Po instalaci vám Android Studio umožní přístup k ADB Idea z jeho Nástroje Jídelní lístek. Vybrat Nástroje> Nápad ADB a vyberte příslušný příkaz z výsledné rozbalovací nabídky.

Jeff Friesen

Poté, co jsem vybral ADB Restart App„Pozoroval jsem následující zprávy v Záznam událostí okno a také restartovaná aplikace na mém zařízení Amazon Kindle.

Jeff Friesen

Najděte použitelný kód: Codota

Můžete použít Codota plugin pro přístup k vyhledávacímu stroji Codota, který vám umožní prozkoumat miliony veřejně dostupných fragmentů zdrojového kódu Java pro řešení problémů s kódováním Android.

Jeff Friesen

Vybrat Codota v seznamu doplňků úložiště a poté klikněte na Nainstalujte knoflík. Poté, co si Android Studio stáhne a nainstaluje plugin, přejmenuje jej Nainstalujte tlačítko na Restartujte Android Studio. Restartování aktivuje Codotu.

Po restartu narazíte na Ověření Codota dialogové okno. Klikněte na odkaz a podle pokynů obdržíte token. Poté vložte token do výše uvedeného dialogového okna a klikněte Jít.

Jeff Friesen

Android Studio vám umožňuje přístup do Codoty kliknutím pravým tlačítkem na kód Java v okně editoru a výběrem Získejte relevantní příklady položka nabídky, jak je znázorněno na obrázku 16.

Jeff Friesen

Kliknutím na tuto položku nabídky prohlížeč zobrazí stránku s příslušnými příklady kódu. Například následující stránka představuje příklady, které jsou relevantní pro findViewById:

Jeff Friesen

Automaticky generovat kód Java: Lombok

Projekt Lombok nabízí sadu anotací, které můžete použít místo standardního kódu, což vám ušetří čas při ručním psaní tohoto kódu.

Jeff Friesen

Vybrat Plugin Lombok v seznamu doplňků úložiště a poté klikněte na Nainstalujte. Po stažení a instalaci aplikace Android Studio vás k tomu vyzve Restartujte Android Studio. Restartování aktivuje Lombok Plugin.

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