版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第9章 Android网络开发应用 Android是由互联网巨头Google带头开发,因此对网络功能的支持是必不可少的。在Android系统中,提供了以下几种方式可以实现网络通信:SocketHTTPURLWebView网络开发。9.1 Socket通信 Socket,通常也称作“套接字”,用于描述IP地址和端口。应用程序通常通过套接字向网络发出请求或者应答网络请求。Socket是Java中较为常用的网络通信方式,而Android是采用Java语言进行开发。因此Android中Socket通信,采用的就是Java的Socket通信方式。9.1.1 Socket工作机制 Socket工作机制模式
2、,如图9.1所示。 图9.1 Socket工作机制示意图 Socket服务端开发 Socket服务端用于向客户端发送数据信息,它运行在Java SE平台上。 【示例9-1】本示例演示Socket服务端程序的开发。 (1)新建一个Java Project,命名为Server。 (2)在Server的src目录下新建一个包,命名为。右击src,弹出菜单框,单击new|Package命令。 (3)在包下新建一个Server.java,添加main()方法。 整个服务端项目结构创建完成。 (4)在Server.java的main()方法中添加如下代码,向数据流中写入数据,并发送到客户端。 Socket
3、客户端开发 Socket客户端用于接收服务端发送的数据,运行在Android平台上。 (1)新建项目Socket。在SocketActivity中创建connectToServer()方法,读取服务端发送的信息,并用Toast显示。 (2)在onCreate()方法中,调用connectToServer()方法,并添加如下代码,防止程序抛出NetworkOnMainThreadException异常。 (3)在AndroidMenifest.xml中添加用户权限,允许应用程序访问网络。9.1.4 运行程序 完成了服务端与客户端的开发,下面我们运行程序,进行Socket通信。 (1)运行Sock
4、et服务端。右击Server.java,依次选择Run AsJava Application。服务端成功启动后,控制台输出提示信息“Listening”。 (2)运行Android客户端。程序启动后,自动与服务端建立连接。服务端接收到客户端请求后,在控制台输出提示信息“Client Connected”。 客户端与服务端建立连接后,客户端就可以读取到服务端发送的信息,并将信息以Toast方式显示在界面上。9.2 HTTP通信 HTTP(Hyper Text Transport Protocol)超文本传送协议是一种通信协议。它允许将超文本标记语言(HTML)文档从Web服务器传送到Web浏览器
5、,是互联网上应用最为广泛的网络传输协议。9.2.1 HTTP通信方式 HTTP详细规定了浏览器和万维网(World Wide Web)服务器之间互相通信的规则。客户机和服务器必须都支持HTTP,才能在万维网上发送和接收HTML文档并进行交互。 HTTP包含了GET和POST两种请求网络资源方式。GET可以获得静态页面,也可以把参数放在URL字符串后面,传递给服务器。而POST方法的参数是放在HTTP请求中。因此,在编程之前,应当首先明确使用的请求方法,然后再根据所使用的请求数据方法,选择相应的编程方式。 Android提供了HttpURLConnection和HttpClient接口来开发HT
6、TP程序。 使用HttpURLConnection开发 HttpURLConnection是Java的标准类,继承自HttpConnection。它是一个抽象类,不能实例化对象,主要是通过URL的openConnection方法获得。 由于openConnection()方法返回值类型是URLConnection类,所以需要强制转换类型为HttpURLConnection类。 openConnection()方法只创建HttpURLConnection实例,并不是真正的连接操作。而且每次调用openConnection()方法,都将创建一个新的实例。 【示例9-2】下面通过案例演示使用Http
7、URLConnection的默认请求方式开发HTTP程序。 使用HttpClient接口开发 使用Apache提供的HttpClient接口同样可以进行HTTP操作。HttpClient对的类做了封装和抽象,更适合在Android上开发应用。在使用HttpClient接口开发HTTP时,会用到以下接口和类,下面我们一一介绍。 1. HttpClient接口 2. HttpResponse接口 3. StatusLine接口 4. HttpEntity接口 5.NameValuePair 6.HttpGet类 7.HttpPost类9.3 URL通信 URL(Uniform Resource L
8、ocator)统一资源定位符,表示Intetnet上的资源地址,实现对网络资源的定位。简单地说,URL就是Web地址,俗称“网址”。9.3.1 URL简介 URL支持HTTP、File、FTP等多种协议。Java通过URL标识,可以直接使用HTTP、File、FTP等多种协议,获取远端计算机上的资源信息,方便快捷地开发Internet应用程序。 1.统一资源定位器URL URL的语法格式是::/:/#。其中,、和是可选的。和是必需的。当没有给出时,浏览器默认的传输协议是HTTP。 2.URL类 包中定义了URL类。URL类表示一个统一资源定位器。它是指向互联网上某一资源的指针,这个资源可以是某
9、个主机的一个文件或路径,也可以是文件上的一个锚(或称引用)。9.3.2 URL通信开发 URL通信开发,分为以下几个步骤: (1)根据指定的URL网址,创建URL对象; (2)调用URLConnection.openConnection()方法打开连接; (3)获取输入流; (4)将网络信息提取显示。 【示例9-5】下面通过一个具体案例来演示,使用URL通信,获取网络图片资源。9.4 WebView网页开发 在Android手机中内置了一款高性能WebKit内核浏览器,在SDK中封装为一个叫做WebView控件。WebKit浏览器的作用将HTML代码解释编译成直观、具体、用户可理解的网页界面。9.4.1 WebView简介 WebView是用于加载显示网
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 桥涵清包工合同范例
- 土地分配合同范例
- 环境经济学习题(附参考答案)
- 口译兼职合同范例
- 2025年成都货运从业资格证试题和答案
- 施工单位租地合同范例
- 电瓶代销合同范例
- 专项购买服务合同范例
- 团队技术入股合同范例
- 卖灯具合同范例
- 2024秋国开电大《办公室管理》形考任务1-5参考答案
- 读书分享《非暴力沟通》课件(图文)
- 专题 与角度有关的计算问题(35题提分练)2024-2025学年七年级数学上册同步课堂(北师大版2024)
- 网格员调解员培训
- 浙江省绍兴市2025届高三上学期一模地理试题 含解析
- 安全与急救学习通超星期末考试答案章节答案2024年
- 人教 九下 历史 第五单元《社会主义的发展与挫折》课件
- 医疗器械注册专员培训
- 金属冶炼知识培训
- 2024-2025学年度广东省春季高考英语模拟试卷(解析版) - 副本
- 新疆喀什地区八年级上学期期末英语试题(含答案)
评论
0/150
提交评论