-
需要異步處理,所以構造一個異步處理的類
//異步任務處理
class RequestNetworkDataTask extends AsyncTask<String, Integer, String> {
//在后臺處理之前觸發
//這個在主線程中
@Override
protected void onPreExecute() {
super.onPreExecute();
}//后臺處理 //這個在另一個線程執行 @Override protected String doInBackground(String... params) { //此處的RequestData()是自己封裝的返回網絡請求的一個方法 String result = RequestData(params[0]); return result; } //后臺處理完之后 //這個在主線程中執行 //里面的參數s是doInBackground()的返回結果 @Override protected void onPostExecute(String s) { super.onPostExecute(s); mTvResult.setText(s); } } /*--------------------------------------------------------------------*/ //請求網絡數據 private String RequestData(String urlString) { try { URL url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); //設置超時時間 connection.setConnectTimeout(30000); connection.setRequestMethod("GET"); connection.connect(); int responsecode = connection.getResponseCode(); String responseMessage = connection.getResponseMessage(); String result = null; if (responsecode == HttpURLConnection.HTTP_OK) { InputStream inputStream = connection.getInputStream(); Reader reader = new InputStreamReader(inputStream, "UTF-8"); char[] buffer = new char[1024]; reader.read(buffer); result = new String(buffer); } return result; } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; }
寫完方法后就new剛才的類,即
//url是一個鏈接地址
new RequestNetworkDataTask().execute(url);
第七周隨筆--網絡請求
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。