Android通过HttpURLConnection链接到网络,并获取网络数据
2016-03-28 17:42
519 查看
1.判断网络是否连接
2.创建一个任务类,实现网络下载后台执行
3.创建一个下载数据的函数
4.读取输入流传过来的inputstream
5.最后在oncreate中直接运行即可
private void networkIsconnected(String str){ ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); if (networkInfo != null && networkInfo.isConnected()){ new DownloadUrl(str).execute(); }else { display.setText("网络没有链接上!"); } }
2.创建一个任务类,实现网络下载后台执行
//创建一个任务类 private class DownloadUrl extends AsyncTask<Integer,Integer,String>{ private String str ; public DownloadUrl(String url){ this.str = url; } @Override protected String doInBackground(Integer... urls) { try { return downloadurl(str); } catch (IOException e) { return "网络地址错误!"; } } @Override protected void onPostExecute(String s) { super.onPostExecute(s); display.setText(s); } }
3.创建一个下载数据的函数
//根据url下载数据内容 private String downloadurl(String url) throws IOException { InputStream is = null; int len = 500; URL myurl = new URL(url); HttpURLConnection conn = (HttpURLConnection) myurl.openConnection(); conn.setConnectTimeout(10000); conn.setReadTimeout(15000); conn.setDoInput(true); conn.connect(); int response = conn.getResponseCode(); Log.d("DEBUG_TAG", "The response is: " + response); is = conn.getInputStream(); String contengString = readIt(is,len); return contengString; }
4.读取输入流传过来的inputstream
public String readIt(InputStream stream, int len) throws IOException{ Reader reader = null; reader = new InputStreamReader(stream, "UTF-8"); char[] buffer = new char[len]; reader.read(buffer); return new String(buffer); }
5.最后在oncreate中直接运行即可
networkIsconnected(urltext.getText().toString());
相关文章推荐
- iOS网络篇
- 数据的网络请求
- iOS RSA的网络安全模型、iOS签名机制总结(登录、token安全、签名)
- 简单的网络图片下载
- time_wait tcp
- HTTP错误代码大全
- [BZOJ3651]网络通信(LCT)
- 3月23日作业
- 分析MockHttpServletRequestBuilder中content和param的区别
- Android Https服务器端和客户端简单实例
- bzoj 3651: 网络通信
- 浅谈https\ssl\数字证书
- httpd+nfs 简单的文件系统共享
- webHttpBinding、basicHttpBinding和wsHttpBinding区别
- 网络基础---IP地址
- 详解rsync算法--如何减少同步文件时的网络传输量
- TCP的三次握手(建立连接)和四次挥手(关闭连接)
- 网络基础---子网掩码
- 搭建可用http访问的svn(windows)
- 计算机网络基础之网络层