Android使用HttpURLConnection访问网络
16lz
2021-12-11
Android上可以通过HttpURLConnection发送HTTP请求来访问网络,具体步骤如下:
1.获取HttpURLConncetion实例
通过调用url实例的openConnection()方法即可,代码如下:
URL url = new URL("htp://www.baidu.com");HttpURLConnection connection = (HttpURLConncetion) url.openConnection();
2.设置请求属性
connection.setRequestMethod("GET");//请求方式connection.setConnectionTimeout(8000);//连接超时connection.setReadTimeout(8000);//读取超时
3.获取数据
调用getInputStream()方法获取服务器返回的输入流,并将数据保存到字符串,代码如下:
InputStream in = connection.getInputStream();//获取输入流reader = new BufferReader(new InputStreamReader(in));StringBuilder response = new StringBuilder();//构建字符数组String line;while((line = reader.readerLine())!=null){ response.append(line);//将数据写入字符串 }reader.close();connection.close();
注1:一般将网络请求写在子线程里面,在进行UI操作的时候再从子线程切换到主线程,开启线程的方法如下:
new Thread(new Runnable(){ @Override public void run(){ //... }}).start()
从子线程切换到主线程的方法如下:
runOnUiThread(new Runnable(){ @Override public void run(){ //... }})
注2:访问网络需要申请网络权限,在AndroidManifest.xml文件中添加:
更多相关文章
- 无标题文章
- android 上层wifi模块调用分析
- [android]在上下文菜单的选中事件中获取列表选中的元素
- Android_GPS
- Android通过点击按钮改变Activity的背景颜色_个人笔记
- Android(安卓)Google Map实例 - MD5 、Google Map API Key获取(A
- Android(安卓)获取屏幕宽度、高度、dpi等信息
- Android获取屏幕宽高、屏幕密度、手动计算view大小
- 关于handler