0

我使用以下代码在 android 中调用 web 服务。

if( requestType.equals( "GET" ) )
{
    try
    {
         // GET
        HttpGet request = new HttpGet( );       
        request.setURI( new URI( requestURL ) );        
        HttpResponse response = client.execute( request );      
        if( response == null )
        {
            Log.d( APP_NAME, "Get Response returned null" );
        }
        else
        {
            HttpEntity entity = response.getEntity( );
            String encoding = EntityUtils.getContentCharSet( entity );
            responseString = EntityUtils.toString( entity, encoding == null ? "UTF-8" : encoding );
        }
    }
    catch( Exception e )
    {
            Log.e( APP_NAME, "Error Get : " + e.getMessage( ) );
    }
}

此代码最高支持 3.0。但不支持 android 4.0 及以上版本。请只做那些需要的。

4

1 回答 1

1

我想问题是NetworkonMainThreadException

这是因为您要么在不允许的 android 版本 >= 3.0 的主线程上执行网络操作。

使用 AsyncTask 从http://developer.android.com/reference/android/os/AsyncTask.html读取

于 2013-02-09T07:15:37.180 回答