欢迎来到天天文库
浏览记录
ID:32571163
大小:1.07 MB
页数:24页
时间:2019-02-12
《android开发实验报告-网络与通信》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验七网络与通信一实验目的掌握无线网络通信原理,熟练Android平台网络应用开发二实验内容1)熟悉Android平台上网络与通信的开发技术,包括WiFi开发基础、蓝牙开发;2)编程实现简易浏览器、WiFi管理器、蓝牙服务器和客户端。三仪器设备1)PC机最低配置:2GHz以上双核CPU,2G以上内存,1G自由硬盘空间;2)WindowsXP(32位)或Vista(32或64位)或Windows7(32或64位);3)Eclipse3.7以上;4)EclipseJDT插件;5)JDK5或JDK6;6)
2、AndroidDevelopmentTools插件;7)AndroidSDK。四实验要求1)了解网络通信技术基本原理;2)学习实现HTTP通信、Socket通信;3)用WebKit实现一个浏览器;4)熟练WiFi、蓝牙相关的类和接口。五实验主要步骤1.无线网络技术、Android网络基础所谓无线网络,既采用无线传输媒介(如无线电波、红外线等)的网络。既包括允许用户建立远距离无线连接的全球语音和数据网络,也包括为近距离无线连接进行优化和红外线技术及射频技术。无线网络与有线网络的用途十分类似,最大的不同
3、在于传输媒介的不同,利用无线电技术取代网线。无线网络可以和有线网络互为备份。无线技术的分类如下:1.无线网络通信标准2无线网络类型3无线局域网(WLAN)4无线个域网(WPAN)Android基于Linux内核,它包含一组优秀的联网功能,当然这些只是Android自带的一些功能,它们是开源软件,大家可以拿来学习研究。目前,Android平台有3种网络接口可以使用,它们分别是:java.net.*(标准java接口)、org.apache(Apache接口)、android.net.*(android
4、网络接口)。下面我们分别来简单介绍一下这些接口的功能及其作用。标准java接口java.net.*(标准java接口)提供与联网有关的类,包括流和数据包套接字、Internet协议、常见HTTP处理。比如:追寻URL以及URLConnection/HttpURLConnection对象、设置连接参数、连接到服务器、向服务器写数据、从服务器读取数据等通信。下面是常见的使用java.net包的HTTP例子,如代码清单8-1所示。Apache接口HTTP协议可能是现在Internet上使用得最多、最重要的
5、通信协议了,二元越来越多的java应用程序需要通过HTTP协议来访问网络资源。虽然在JDK的java.net包中已经提供了访问HTTP协议的基本功能,但是对于大部分应用程序来说,JDK库本身提供的功能远远不够。这里就需要Android提供的ApacheHttpClient了。它是一个开源项目,功能更加完善,为客户端的HTTP编程提供高效、最新、功能丰富的工具包支持。Android平台引入了ApacheHttpClient的同时不提供了对它的一些封装和扩展,例如设置缺省的HTTP超时和缓存大小等。An
6、droid使用的是目前最新的HttpClient4.0(org.apache.http.*),可以将Apache视为目前流行的开源Web服务器,主要包括创建HttpClient以及Get/Post、HttpRequest等对象,设置连接参数,执行HTTP操作,处理服务器返回结果等功能。下面是一个使用android.net.http.*包的例子,如代码清单8-2所示。Android网络接口Android.net.*包实际上是通过对Apache中的HttpClient的封装来实现的一个HTTP编程接口,
7、同时还提供了HTTP请求队列管理nyeyHTTP连接池管理,以提高并发请求情况下(如转载网页时)的处理效率,除此之外还有网络状态监视等接口、网络访问的Socket、常用的Uri类以及有关WiFi相关的类等等。下面我们看最简单的Socket连接。2.HttpURLConnection接口、HttpClient接口HTTP(HyperTextTransferProtocol,超文本传输协议)用于传送WWW方式的数据。HTTP协议采用了请求/响应模型。客户端向服务器发送一个,请求头包含了请求的方法、URL
8、、协议版本,以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。HTTP通信中使用最多的就是get和post,get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给服务器。Post与Get的不同之处在于Post的参数不是放在URL字串里面,而是放在http请求数据中。HttpURLConnection是java的标准类,继承自URLConnection类,URLConnection与HttpURLConnection都是抽象类,无法直接实例化对象
此文档下载收益归作者所有