2011-06-22 48 views
0

我想知道是否有任何方法可以在不使用WebView组件的情况下从Android手机访问网页。我一直在跟踪一些关于如何针对Android进行编程的教程,并且提及Web访问的教程总是使用该组件来加载URL,然后在屏幕上显示结果页面。但是,我正在开发一个应用程序,它需要将一些数据传递给网站(ID,名称,点等),我不想在屏幕上显示响应 - 我仍然要记录对日志文件的响应,我只是不想在屏幕上显示页面。有没有一个类或方法可以做到这一点?如果没有,有没有办法从屏幕上隐藏这个组件?我试图在main.xml中将其标记为'不可见',但没有成功。在没有webview的情况下访问web

在此先感谢您的帮助!

回答

1

您在寻找HttpGet,HttpResponse,httpRequest和DefaultHttpClient对象,这些对象允许您发送Web请求并获取结果以用于Web服务。

参见:http://developer.android.com/reference/org/apache/http/HttpRequest.html

protected InputStream callSynchronousUrl(final String url) { 

    try { 
     DefaultHttpClient httpClient = new DefaultHttpClient(); 
     httpClient.getParams().setParameter("http.socket.timeout", 
       3000); 

     URI uri = new URI(url); 
     HttpGet requestObject = new HttpGet(); 
     requestObject.setURI(uri); 

     HttpResponse response = httpClient.execute(requestObject); 

     if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { 
      return(null); 
     } 
     else { 
      //We successfully got a response from the server 
      return(response.getEntity().getContent()); 
     } 

    } catch (IOException e) { 
     Log.e("CallUrl", "I/O error"); 
     return(null); 

    } catch (URISyntaxException e) { 
     Log.e("CallUrl", "URI syntax is invalid"); 
     return(null); 
    } 
} 
相关问题