Logcat

Pentru a putea depana o aplicatie si a vedea eventualele mesaje de debug Android foloseste LogCat. Aveasta nevoie apare de la faptul ca o aplicatie android nu poate scrie la stdout sau stderr intr-un mod conventional.

Pentru a scrie un mesaj la log vom folosi functia Log:

    Log.w("SOME_TAG_TO_FILTER_IN_LOGCAT", "A pornit aplicatia cu bine!");

Pentru a vedea mesajele de log pentru aplicația ta, urmează pașii următori.

  1. În Android Studio, construiește și rulează aplicația ta pe un dispozitiv fizic sau pe un emulator.
  2. Selectează View > Tool Windows > Logcat din bara de meniu. (Iconița cu o figură de pisică)

Implicit, Logcat derulează până la final. Făcând click în fereastra Logcat sau derulând în sus folosind roata mouse-ului dezactivează această caracteristică. Pentru a o reactiva, fă click pe iconița Scroll to the End din bara de unelte. De asemenea, poți folosi bara de unelte pentru a goli, pauza sau reporni Logcat.

Cum citim log-urile?

Fiecare log conține o dată, marcaj temporal, ID de proces și thread, tag, numele pachetului, prioritate și mesaj asociat cu acesta. Tag-urile diferite au culori unice care ajută la identificarea tipului de log(de exemplu SOME_TAG_TO_FILTER_IN_LOGCAT in exemplul de mai sus). Fiecare înregistrare în log are o prioritate care poate fi FATAL, ERROR, WARNING, INFO, DEBUG sau VERBOSE.

De exemplu, următorul mesaj de log are o prioritate de DEBUG și un tag de ProfileInstaller:

2022-12-29 04:00:18.823 30249-30321 ProfileInstaller com.google.samples.apps.sunflower D Installing profile for com.google.samples.apps.sunflower

Filtre Logcat

  • De obicei când deschideți tabul Logcat, acesta are un filtru predefinit 'package:mine', ca în screenshotul de mai sus. În absența acestui filtru se vor afișa mesajele tuturor aplicațiilor din telefon.
  • La fiecare laborator se va folosi un tag suplimentar, de obicei definit în fișierul 'Constants.kt'. Puteți folosi acest tag ca pe un filtru suplimentar pentru a vedea doar mesajele generate în acest laborator
package:mine tag:SOME_TAG_TO_FILTER_IN_LOGCAT
  • dacă e nevoie, în fereastra de Logcat puteți da click dreapta și alege 'Clear logcat'