2015-10-06 49 views
2

如何使用HttpURLConnection获取以下网址的内容并将其放入Textview中?使用android httpurlconnection从网址获取文本

http://ephemeraltech.com/demo/android_tutorial20.php

+0

http://stackoverflow.com/a/8655039/5202007 – Tauqir

+0

[HTTP GET采用Android HttpURLConnection类]的可能的复制(HTTP调用这个类://stackoverflow.com/questions/8654876/http-get-using-android-httpurlconnection) – Mel

+0

谢谢我看到这个问题之前,但它并没有帮助我 该网址的内容是 “教程20工作,我们有点CO NNECTION“ ,我想从url获得这个文本,然后把它放在文本视图 –

回答

6
class GetData extends AsyncTask<String, Void, String> { 

    @Override 
    protected String doInBackground(String... params) { 
     HttpURLConnection urlConnection = null; 
     String result = ""; 
     try { 
      URL url = new URL("http://ephemeraltech.com/demo/android_tutorial20.php"); 
      urlConnection = (HttpURLConnection) url.openConnection(); 

      int code = urlConnection.getResponseCode(); 

      if(code==200){ 
       InputStream in = new BufferedInputStream(urlConnection.getInputStream()); 
       if (in != null) { 
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in)); 
        String line = ""; 

        while ((line = bufferedReader.readLine()) != null) 
         result += line; 
       } 
       in.close(); 
      } 

      return result; 
     } catch (MalformedURLException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

     finally { 
      urlConnection.disconnect(); 
     } 
     return result; 

    } 

    @Override 
    protected void onPostExecute(String result) { 
     yourTextView.setText(result); 
     super.onPostExecute(s); 
    } 
} 

,并通过使用

new GetData().execute(); 
+0

感谢他的工作 但我可以做到这一点,而不创建一个类? –

+0

这是网络操作,必须在单独的线程上执行。所以你需要asyncTask类。因为asynctask是执行网络操作的最佳选择。 –

+0

再次感谢很多人你解决了我的大问题 –