2014-10-10 96 views
0

我正在製作一個應用程序,它將從網站下載一個字符串並顯示它。 我在網上嘗試了很多例子,我一直在尋找這個日子,但我找不到一個解決方案。從網頁安卓下載字符串

從我讀過的,我知道我必須從另一個線程獲取url的內容,但沒有教程告訴我如何做到這一點。

我有一個佈局的textview,這將是HTML內容將不得不顯示。

任何人都可以告訴我一個這樣做的例子嗎?

+0

開始它按照此鏈接,請: http://stackoverflow.com/questions/2376471/how-do-i-get-the-web-page- content-from-a-webview – 2014-10-10 23:17:08

+0

我不想在我的應用中使用任何WebView,所以這不是解決方案 – 2014-10-10 23:19:12

+0

對不起,我誤解了你的問題。 – 2014-10-10 23:22:18

回答

0

這樣的事情呢?

public class MyAsyncTask extends AsyncTask<String, Void, String> 
{ 
    @Override 
    protected String doInBackground(String... requestUrl) 
    { 
     String result = null; 

     DefaultHttpClient httpClient = new DefaultHttpClient(); 
     HttpGet request = new HttpGet(requestUrl[0]); 

     try 
     { 
      ResponseHandler<String> responseHandler = new BasicResponseHandler(); 
      result = httpClient.execute(request, responseHandler); 
     } 
     catch (IOException e) 
     { 
      Log.e("requestStringFromWebServer", "Whoops!", e); 
     } 

     httpClient.getConnectionManager().shutdown(); 

     return result; 
    } 

    @Override 
    protected void onPostExecute(String result) 
    { 
     if (result != null) 
     { 
      // Handle the result from your request here... 
     } 
    } 
} 

而且隨着

String myUrlStr; // Initialize this to your url 
new MyAsyncTask().execute(myUrlStr); 
+0

此代碼在Android 4中無法使用,因爲我們必須使用asynctask來完成此操作。 – 2014-10-10 23:34:40

+0

它在Android 4中正常工作。很容易從AsyncTask的doInBackground中調用此方法,並將結果作爲字符串傳遞以供onPostExecute使用。 – 2014-10-10 23:36:02

+0

給我一個完整的例子嗎?我一直在尋找那幾天 – 2014-10-10 23:39:48