HttpResponse Ergebnis bekommen

  • Antworten:5
  • Bentwortet
Gelöschter Account
  • Forum-Beiträge: 136

28.05.2011, 22:59:51 via Website

Hallo zusammen,

habe einen Button, wenn man auf diesen klickt, wir eine php Datei aufgerufen die die Eingabe mit der Datenbank vergleicht. Sollte die Eingabe richtig sein, setze ich "return true;" , bei falschem false.

Mit HttpResponse will ich dieses Ergebnis nun auslesen. Ich denke, dass es funktioniert, da ich im LogCat Ergebnisse bekomme, diese allerdings nicht lesen kann. Ist halt sowas: "de23d@5g5g". Wie kann ich das nun decoden, sodass ich weiß, was er zurück gegeben hat?

Ist das überhaupt der richtige Ansatz?

Grüße,
Malte

Antworten
Markus B.
  • Forum-Beiträge: 636

29.05.2011, 02:27:25 via Website

Hi,
es ist so das bei Android alle Klassen vom java.lang.Object eben. Die Klasse besitzt die Methode toString() und ist so implementiert das diese die Speicheradresse zurückgibt. Somit sagt de23d@5g5g nur aus das das Objekt HttpResponse nicht null ist :)

Damit du aber den Response für dich lesbar bekommst, kannst du folgendes machen:
1final String content = null != response.getEntity() ? EntityUtils.getContentCharSet(response.getEntity()) : "nix da ...";

Gruß,
Markus

— geändert am 29.05.2011, 02:27:38

Antworten
Gelöschter Account
  • Forum-Beiträge: 136

29.05.2011, 02:46:12 via Website

Hey,

danke für die Antwort. Obs funktioniert hat, kann ich leider noch net sagen, da ich einen force close bekomme, sobald ich den String loggen möchte. Mit System.out.println, mit System.out.print, sowie mit Log gabs immer fehler. Bei System.out.print, keinen force close, allerdings keine Ausgabe, dafür aber im Logcat einen Fehler, den ich leider nicht genau finden kann, da ziemlich viel dann kommt, wenn ich auf den Button klicke.

Gibt es noch eine andere Art zum Loggen?

Grüße,
Malte

Antworten
Markus B.
  • Forum-Beiträge: 636

29.05.2011, 02:53:17 via Website

Hi,
also ich logge immer via Log:

1import android.util.Log;
2private static final String TAG = MyActivity.class.getSimpleName();
3....
4Log.i( TAG , "Mein Log");

Damit hatte ich noch nie Probleme :) Bei einem force close solltest du doch einen Stack Track bekommen und der wird im Log von Eclipse rot dargestellt und somit kannst du diesen doch gar nicht übersehen.

Gruß,
Markus

Antworten
Gelöschter Account
  • Forum-Beiträge: 136

29.05.2011, 14:37:27 via Website

Hey,

okay, habe den Fehler jetzt gefunden. LogCat sagt "println needs a message", was heißt, dass "content", also die rückgabe null ist. Nun ist die Frage warum? Wenn ich den response logge, bekomme ich ja etwas. Ein Fehler beim decoden?


Grüße,
Malte

Antworten
Markus B.
  • Forum-Beiträge: 636

29.05.2011, 15:42:52 via Website

Hi,
also mit "content" meine ich den entsprechenden Inhalt, welcher von deiner php-Datei zurück geliefert wird. Also z.B. eine Json-String / XML / what ever :)
Wie schon gesagt, nur weil die beim Loggen von dem HttpResponse eine Ausgabe bekommst heißt es nicht das alles funktioniert. Deine Ausgabe zeigt nur die Speicheradresse und nicht ob du von deiner php-Datei einen Response gekommen hast.

Gruß,
Markus

Gelöschter Account

Antworten