Jak wyprowadzać komunikaty do konsoli Eclipse podczas tworzenia aplikacji na Androida


164

Jak mogę wydrukować komunikaty (takie jak flaga) do konsoli Eclipse (lub dziennika) podczas tworzenia i debugowania aplikacji na Androida

Odpowiedzi:


153

Zamiast próbować Logwysłać dane do konsoli, wyświetli LogCat, który można znaleźć w Eclipse, przechodząc do: Window-> Show View-> Other… -> Android-> LogCat

Spójrz na odniesienie doLog .

Zaletą korzystania z LogCat jest to, że możesz drukować w różnych kolorach w zależności od typu dziennika, np .: Log.ddrukuje na niebiesko, Log.edrukuje na pomarańczowo. Ponadto można filtrować według tagu dziennika , wiadomości dziennika , identyfikator procesu i / lub nazwy aplikacji . Jest to bardzo przydatne, gdy chcesz po prostu zobaczyć dzienniki aplikacji i oddzielić inne elementy systemu.


3
moje, moje, jakie to proste ... te małe ciekawostki pomagają tym z nas, którzy są NOWI na tych platformach. Dzięki m6tt! Do Twojej wiadomości: jest tutaj opcja filtra, która pomaga BARDZO DUŻO ~
Sage

48
Log.v("blah", "blah blah");

Aby je zobaczyć, musisz dodać widok dziennika Androida w zaćmieniu. Istnieją również inne metody w zależności od wagi komunikatu (błąd, szczegółowość, ostrzeżenie itp.).


2
+1 A co powiesz na zrobienie tego w bibliotece? Próbowałem, ale nic to nie pokazuje na logcat.
Roy Lee

29

System.out.println()również wyprowadza do LogCat. Zaletą używania starego dobrego System.out.println()jest to, że możesz wydrukować obiekt taki jak System.out.println(object)na konsoli, jeśli chcesz sprawdzić, czy zmienna jest zainicjowana, czy nie.

Log.d, Log.v, Log.wItp metod tylko pozwalają drukować ciągi do konsoli, a nie obiektów. Aby to obejść (jeśli chcesz), musisz użyć String.format.


3
Lub w przypadku instancji obiektów możesz zawsze użyć toString(). To właśnie System.out.println(Object)robi wewnętrznie. Jeśli używana jest toString()metoda Objectsama w sobie (np. Dla typów tablicowych), możesz nie otrzymać użytecznych wyników.
Maarten Bodewes

oszczędza mi wpisywania. Zawsze uwielbiam, gdy Objects same o siebie dbają. ; )
Tirtha

Nie zrzuca obiektu, drukuje to samo, co Log.
Francisco Corrales Morales

... i nadal oszczędza mi tworzenia stałej łańcuchowej dla Log.cokolwiek i wpisywania jej za każdym razem, gdy chcę coś w konsoli, i formatowania obiektu na łańcuch.
Tirtha,

1
Jeśli twój obiekt ma wartość null, toString () oczywiście wyrzuci NPE. Nigdy nie powinieneś wywoływać metody toString () na obiekcie w instrukcji log, ale raczej użyj biblioteki rejestrowania, która wykona te sprawdzenia, jeśli po prostu przekażesz obiekt.
Thomas Eizinger

15

Używam metody Log.d również proszę zaimportować import android.util.Log;

Log.d("TAG", "Message");

Pamiętaj jednak, że jeśli chcesz zobaczyć komunikaty debugowania, nie używaj opcji Uruchom jako, a raczej użyj opcji „Debuguj jako”, a następnie wybierz opcję Aplikacja Android. W przeciwnym razie nie zobaczysz komunikatów debugowania.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.