So geben Sie bei der Entwicklung für Android Nachrichten an die Eclipse-Konsole aus


164

Wie kann ich beim Entwickeln und Debuggen einer Android-App Nachrichten (wie ein Flag) an die Eclipse-Konsole (oder das Protokoll) drucken?

Antworten:


153

Anstatt zu versuchen, auf der Konsole Logauszugeben , wird auf LogCat ausgegeben, das Sie in Eclipse finden, indem Sie zu: Fenster-> Ansicht anzeigen-> Andere… -> Android-> LogCat

Schauen Sie sich die Referenz für anLog .

Die Verwendung von LogCat bietet den Vorteil, dass Sie je nach Protokolltyp unterschiedliche Farben drucken können, z. B.: Log.dDruckt blau, Log.edruckt orange. Sie können auch nach Protokoll-Tag , Protokollnachricht , Prozess-ID und / oder Anwendungsname filtern . Dies ist sehr nützlich, wenn Sie nur die Protokolle Ihrer App anzeigen und die anderen Systemelemente getrennt halten möchten.


3
Meine Güte, wie einfach es sein kann ... diese kleinen Leckerbissen helfen denen von uns, die auf diesen Plattformen NEU sind. Danke m6tt! Zu Ihrer Information: Es gibt hier eine Filteroption, die SEHR VIEL hilft ~
Sage

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

Sie müssen die Android-Protokollansicht in Eclipse hinzufügen, um sie anzuzeigen. Abhängig vom Schweregrad der Nachricht gibt es auch andere Methoden (Fehler, ausführlich, Warnung usw.).


2
+1 Wie wäre es damit in der Bibliothek? Ich habe es versucht, aber es zeigt nichts auf logcat.
Roy Lee

29

System.out.println()gibt auch an LogCat aus. Der Vorteil der Verwendung von good old System.out.println()ist, dass Sie ein Objekt wie drucken könnenSystem.out.println(object) auf der Konsole wenn Sie überprüfen müssen, ob eine Variable initialisiert ist oder nicht.

Log.d, Log.v, Log.wEtc Methoden können Sie nur Zeichenfolgen an die Konsole und nicht Objekte drucken. Um dies zu umgehen (wenn Sie es wünschen), müssen Sie verwenden String.format.


3
Oder für Objektinstanzen können Sie immer verwenden toString(). Dies ist, was System.out.println(Object)intern tut. Wenn die toString()Methode Objectselbst verwendet wird (z. B. für Array-Typen), erhalten Sie möglicherweise keine nützliche Ausgabe.
Maarten Bodewes

spart mir das tippen. Ich liebe es immer, wenn Objekte auf sich selbst aufpassen. ;; )
Tirtha

Das Objekt wird nicht ausgegeben, sondern genauso gedruckt wie Log.
Francisco Corrales Morales

..und es erspart mir immer noch die Erstellung einer Zeichenfolgenkonstante für Log.whatever und die Eingabe jedes Mal, wenn ich etwas in der Konsole haben möchte, und das Formatieren des Objekts in die Zeichenfolge.
Tirtha

1
Wenn Ihr Objekt null ist, löst toString () offensichtlich eine NPE aus. Sie sollten niemals toString () für ein Objekt in einer Protokollanweisung aufrufen, sondern eine Protokollierungsbibliothek verwenden, die diese Überprüfungen durchführt, wenn Sie nur ein Objekt übergeben.
Thomas Eizinger

15

Ich benutze die Log.d Methode auch bitte importieren import android.util.Log;

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

Beachten Sie jedoch, dass Sie, wenn Sie die Debug-Meldungen anzeigen möchten, nicht Ausführen als verwenden, sondern " Debuggen als" verwenden und dann Android-Anwendung auswählen. Andernfalls werden die Debug-Meldungen nicht angezeigt.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.