Android网络编程(一)
2016-06-14 21:35
411 查看
首先介绍HttpURLConnection类的GET方式请求网络下载图片的步骤:
1.首先在布局文件中声明控件,button和imageview
2.在java代码中找到相应的控件,为button注册点击的事件注意在Android4.0之后google规定Andorid的网络请求为耗时操作,必须在子线程中完成网络的请求
3.在点击事件中得到URL对象,传入的参数是要访问的网络地址
URL url=new URL(“这里是地址”);
通过url对象开启http连接:
HttpURLConnection openConnection = (HttpURLConnection) url.openConnection();
接下设置连接的参数:
4.如上所述,当code等于200时表示网络请求成功,我们得到了数据流:
InputStream input=openConnection.getInputStream();
由于我们请求的是图片资源,我们要将得到的数据流解码:
Bitmap bitmap= BitmapFactory.decodeStream(inputStream);
5.这样我们就得到了位图资源,网络的请求过程也就结束了
6.注意如果想修改我们的UI控件,比如要想实现我们的imageview
中显示我们的图片资源,我们不能再子线程中修改UI控件,要使用Handler消息机制来完成,这里不再赘述Handler的使用过程,以后在另外的Handler的工作机制中详述
1.首先在布局文件中声明控件,button和imageview
2.在java代码中找到相应的控件,为button注册点击的事件注意在Android4.0之后google规定Andorid的网络请求为耗时操作,必须在子线程中完成网络的请求
3.在点击事件中得到URL对象,传入的参数是要访问的网络地址
URL url=new URL(“这里是地址”);
通过url对象开启http连接:
HttpURLConnection openConnection = (HttpURLConnection) url.openConnection();
接下设置连接的参数:
//设置请求的方式 openConnection.setRequestMethod("GET"); //设置超时的时间 openConnection.setConnectTimeout(5000); //获得URL的响应码 200 :成功,206:访问部分数据成功 300:跳转或重定向 400:错误 500:服务器异常 int code=openConnection.getResponseCode();
4.如上所述,当code等于200时表示网络请求成功,我们得到了数据流:
InputStream input=openConnection.getInputStream();
由于我们请求的是图片资源,我们要将得到的数据流解码:
Bitmap bitmap= BitmapFactory.decodeStream(inputStream);
5.这样我们就得到了位图资源,网络的请求过程也就结束了
6.注意如果想修改我们的UI控件,比如要想实现我们的imageview
中显示我们的图片资源,我们不能再子线程中修改UI控件,要使用Handler消息机制来完成,这里不再赘述Handler的使用过程,以后在另外的Handler的工作机制中详述
相关文章推荐
- 【网络流24题----01】飞行员配对方案问题
- nginx做前端反代负载均衡,后端httpd+tomcat
- Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决(转)
- 【51CTO学院三周年】藏头诗一首送祝福
- 阿里云 CentOS6.7 PHP5.2.17 lighttpd GD库 安装配置记录
- 最小连通网络
- libpcap/tcpdump filter 语法
- 线程与网络编程(第六节:通信协议与TCP socket初识)
- linux网络编程--TCP/IP协议
- MyAsyAsyncTask工具类网络请求HttpClient
- Deep Learning(深度学习)学习笔记整理系列之(七)Convolutional Neural Networks卷积神经网络
- 强大的请求网络图片并自动缓存的第三方框架------Picasso
- TCP/IP源码(59)——TCP中的三个接收队列
- Android中的TCP协议与UDP协议
- ServiceMetadataBehavior 的 HttpsGetEnabled 属性设置为 True,而 HttpsGetUrl 属性是相对地址,但没有 https 基址
- 学习笔记——Retrofit2.0的简单使用
- HttpClient 4.3教程(转载)
- 网络请求接口封装方式
- Nodejs中,使用nock做http请求的mock
- Startssl 现在就启用 HTTPS,免费的!