Warum bin ich immer "inkompatible Typen: Objekt kann nicht in eine Zeichenfolge konvertiert werden"?

Ich versuche, den einfachst möglichen code für den Aufruf einer Web API REST-Methode aus einer Android-app, und der code, den ich gefunden hier sah sehr vielversprechend:

public String callWebService(String requestUrl)
{
    String deviceId = "Android Device";

    HttpClient httpclient = new DefaultHttpClient();
    HttpGet request = new HttpGet(requestUrl);
    request.addHeader("deviceId", deviceId);

    ResponseHandler handler    = new BasicResponseHandler();
    String result = "";

    try
    {
        result = httpclient.execute(request, handler); //<= a line too far
    }
    catch (ClientProtocolException e)
    {
        e.printStackTrace();
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }

    httpclient.getConnectionManager().shutdown();

    return result;
}

Jedoch, es wird nicht kompilieren, mir zu sagen: "inkompatible Typen: Objekt kann nicht in eine Zeichenfolge konvertiert werden" auf dieser Linie:

result = httpclient.execute(request, handler);

Es gibt ein paar Optionen in einem Versuch zur Umgehung der logjam:

Warum bin ich immer

...aber ich weiß nicht, was, wenn überhaupt, von diesen Optionen ist die bevorzugte Methode, dieses dilemma zu lösen. Ist ein Weg, "der Weg"?

UPDATE

Dieser code, wie ich schon sagte, sieht vielversprechend aus für mich, aber ich denke, es ist im Grunde unbrauchbar ist, denn es gibt mir die gefürchtete "NetworkOnMainThreadException" Aus dem logcat:

04-01 13:18:41.861    1267-1267/hhs.app E/AndroidRuntime FATAL EXCEPTION: main
. . .
    java.lang.IllegalStateException: Could not execute method of the activity
. . .
     Caused by: java.lang.reflect.InvocationTargetException
. . .
     Caused by: android.os.NetworkOnMainThreadException

InformationsquelleAutor B. Clay Shannon | 2014-04-01

Schreibe einen Kommentar