Pourquoi ai-je, “incompatible types: l'Objet ne peut pas être converti en Chaîne”?

Je suis en train d'utiliser le plus simple possible code pour l'appel d'une API Web RESTE la méthode à partir d'une application Android, et le code que j'ai trouvé ici avait l'air très prometteur:

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;
}

Cependant, il ne compile pas, en me disant: "incompatible types: l'Objet ne peut pas être converti en Chaîne" sur cette ligne:

result = httpclient.execute(request, handler);

Il donne quelques options dans une tentative de contourner l'impasse:

Pourquoi ai-je, “incompatible types: l'Objet ne peut pas être converti en Chaîne”?

...mais je ne sais pas qui, le cas échéant, de ces options est la meilleure façon de résoudre ce dilemme. Est une façon "le chemin"?

Mise à JOUR

Ce code, comme je l'ai dit, l'air prometteur pour moi, cependant, je pense que c'est essentiellement inutilisable tel quel, parce qu'il me donne le redoutable "NetworkOnMainThreadException" De 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

OriginalL'auteur B. Clay Shannon | 2014-04-01