-
需要异步处理,所以构造一个异步处理的类
//异步任务处理
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);
第七周随笔--网络请求
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...