android编程学前必知
众所周知,我们生活在一个互联网的时代,很多事物都离不开互联网,而我们的Android应用程序也是离不开互联网的。因此Android网络编程是我们每一个Android开发者必修的一门课程。
Android平台网络和API接口(我们将用到的工具)
1) Java.net.*(标准java接口)(android本身是基于java的)
Java.net.*提供与联网有关的类,包括流、数据包套接字(socket)、Internet协议、常见Http处理等。比如:创建URL,以及URLConnection/ HttpURLConnection对象、设置链接参数、链接到服务器、向服务器写数据、从服务器读取数据等通信。这些在java网络编程中均有涉及。
2) Org.apache接口
对于大部分应用程序而言,JDK本身提供的网络功能已远远不够,这时就需要Android提供的Apache HttpClient了。它是一个开源项目,更能更加完善,为客户端的Http编程提供高效、最新、功能丰富的工具包支持。
3) Android.net.*(Android网络接口)
常常使用此包下的类进行Android特有的网络编程,如:访问WiFi,访问Android联网信息,邮件等功能。
网络架构主要有两种模式B/S,C/S
1) B/S模式
就是浏览器/服务端模式,通过应用层的HTTP协议通信,不需要特定客户端软件,而是需要统一规范的客户端,简而言之就是
Android网络浏览器(如chrome、UCWeb,QQ浏览器等等)访问WEB服务器端的方式了。
2) C/S模式
就是客户端/服务器端模式,通过任意的网络协议通信,需要特定的客户端软件。
服务器端返回客户端的内容有三种方式
1) 以HTML代码的形式返回。
2) 以XML字符串的形式返回,做Android开发时这种方式比较多。返回的数据需要通过XML解析器(SAX、DOM、Pull等)进行解析。
3) 以Json对象的方式返回。
我们能够学到什么?(基于HTTP协议访问服务器)
1) HttpURLConnection实现GET请求
HttpURLConnection实现POST请求
HttpURLConnection实现文件上传(在网络应用中是必不可少的)
2) 客户端访问模块HttpGet和HttpPost
Apache的HttpClient模块
GET和POST请求到底有什么区别
3) 解析从服务器得到的数据
解析从服务器得到的XML数据
解析从服务器得到的Json数据
4) 掌握Socket编程(套接字)
客户端socket
服务端socket
客户端与服务端socket通信
5) 学习Volley框架(Android提供的网络编程框架)
初识Volley的基本用法
使用Volley加载网络图片
定制我们自己的request