2016-04-23 11 views
3

Ich möchte ein Objekt betrachten, ähnlich einem print_r(an_object) in php oder einem console.log(an_object) in Javascript (im Browser), aber für Android.Ein Objekt an die Logcat-Konsole ausgeben

I versucht, dieses

public void a_method(SomeClass the_arg) 
{ 
    Log.d("an_id" , the_arg); 
} 

Dies erzeugt eine Fehlermeldung:

Error:(23, 10) error: no suitable method found for d(String,View) method Log.d(String,String,Throwable) is not applicable (actual and formal argument lists differ in length) method Log.d(String,String) is not applicable (actual argument View cannot be converted to String by method invocation conversion)

Antwort

11
mit

Sie können ein Objekt in Java nicht wie in JavaScript auf der Konsole drucken.

Sie haben drei Lösungen.

1) Debugger verwenden. Platzieren Sie einen Breakpoint und debuggen Sie in Android Studio. Dann können Sie das gesamte Objekt im Geltungsbereich überprüfen.

2) Serialisieren Sie Ihr Objekt (zum Beispiel zu JSON) und drucken Sie das Ergebnis auf die Konsole.

3) außer Kraft setzen toString Methode des Objekts Sie alle Informationen und rufen Log.d("myTag", yourObj.toString())

wollen gebe ich empfehlen erste Methode hoch. Ich habe Debugger gemieden, aber zu lernen, wie man den Debugger benutzt, war das Beste, was ich getan habe. Es erhöht Ihre Effizienz und macht das Debuggen super einfach

+2

Ich markierte dies als die Antwort, weil es mir sagt, dass meine Javascript-Denken ändern muss ('Sie können ein Objekt auf der Konsole in Java nicht wie in Javascript drucken '), und es gibt mehrere Optionen – dsdsdsdsd

+1

Für Option 3, hüten Sie sich vor der NullPointerException –

+0

Sehr guter Punkt @ cricket_007, wenn Sie erwarten, dass 'yourObj 'an irgendeinem Punkt null sein. Wenn 'yourObj' nie null sein sollte, tendiere ich dazu, nicht null zu prüfen und die Anwendung abstürzen zu lassen. Dann kann ich den Grund verfolgen, warum das Obj null ist. – Arijoon

6

Das zweite Argument eine Zeichenfolge sein muss.

Log.d("an_id", String.valueOf(the_arg)); 

Ihr Fehler, sagt man keine View Klasse

no suitable method found for d(String,View)

Seien Sie nicht überrascht, melden Sie sich, wenn Sie etwas Unsinn in der Konsole sehen, wenn Sie drucken, dass View Objekt durch String.valueOf

Verwandte Themen