《Android程序设计教程》课件第九章 网络编程.pptx

上传人(卖家):momomo 文档编号:7647914 上传时间:2024-05-19 格式:PPTX 页数:36 大小:228.28KB
下载 相关 举报
《Android程序设计教程》课件第九章 网络编程.pptx_第1页
第1页 / 共36页
《Android程序设计教程》课件第九章 网络编程.pptx_第2页
第2页 / 共36页
《Android程序设计教程》课件第九章 网络编程.pptx_第3页
第3页 / 共36页
《Android程序设计教程》课件第九章 网络编程.pptx_第4页
第4页 / 共36页
《Android程序设计教程》课件第九章 网络编程.pptx_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、让IT教学更简单,让IT学习更有效Android程序设计教程第九章 网络编程目录 9.1 Socket编程 9.2 使用HttpURLConnection 9.3 WIFI编程 9.4 蓝牙传输编程 9.5 WebView组件学习目标 掌握Socket通信的使用 掌握HttpURLConnection通信接口的使用 掌握URLConnection通信的GET、POST两种数据提交方式 了解WIFI编程 了解蓝牙数据传输编程 能够使用WebView组件浏览网页9.1 Socket编程 Socket通常称为“套接字”,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过套接字向网络发出请求

2、或者答应网络请求,它支持TCP/IP协议的网络通信的基本单元。它是网络通信过程中端点的抽象表示,包含进行网络通信的五种必须信息:连接使用的协议、本地主机的IP地址、本地进程的协议端口、远程主机的IP地址、远程进程的协议端口。9.1.1 Socket类和ServerSocket类 常用的Socket构造方法有以下两种:(1)Socket(String host,int port):创建连接到指定远程主机名、远程端口的Socket对象,该构造方法没有指定本地地址和本地端口,默认使用本地主机IP地址和系统动态分配的端口。此外,参数host也可以使用InetAddress类型。(2)Socket(St

3、ring host,int port,InetAddress localAddr,int localPort):创建连接到指定远程主机名、远程端口的Socket,并指定本地IP地址和本地端口,适用于本金主机有多个IP地址的情况。此外,参数host也可以使用InetAddress类型。9.1.2 ServerSocket类 ServerSocket类常用的构造方法如下:(1)ServerSocket(int port):创建绑定到指定端口的服务器套接字。参数port为指定的端口号,若为零,则表示使用任何空闲端口。(2)ServerSocket(int port,int backlog):创建绑定

4、到指定端口的服务器套接字,同时指定可接受的最大连接请求。参数port含义同上,参数backlog表示连接请求队列长度。如果队列已满,则拒绝再达到的连接请求。(3)ServerSocket(int port,int backlog,InetAddress localAddr):创建一个ServerSocket对象,指定端口、连接队列长度和IP地址,当服务器存在多个IP地址时才允许使用localAddr参数将ServerSocket绑定到特定端口。通常使用ServerSocket类进行网络通信的具体步骤如下:(1)根据指定端口实例化一个ServerSocket对象;(2)调用ServerSocke

5、t对象的accept()方法接收客户端发送的Socket对象;(3)调用Socket对象的getInputStream()/getOutputStream()方法建立与客户端进行交互的I/O流;(4)服务器与客户端根据一定的协议进行交互,直到关闭连接;(5)关闭服务器端的Socket。(6)回到第二步,继续监听下一次客户端发送的Socket请求连接。9.2.1 URL类和URLConnection类9.2.2 HttpURLConnection类 HTTP是最常见的应用层网络协议,Internet上的大部分资源都是基于HTTP的。Java提供了.HttpURLConnection类专门用于处理

6、HTTP的请求和响应。HttpURLConnection继承自URLConnection类,每个HttpURLConnection实例都可生成单个请求,以透明的共享方式连接到HTTP服务器。9.3.1 WifiManager类 Android系统提供了一个WifiManager类用于简单的Wi-Fi操作,使用WifiManager可以在应用中打开与关闭Wi-Fi,同时还可以获取Wi-Fi当前的状态信息。在Android应用中控制Wi-Fi,主要是对WifiManager对象进行操作。具体操作分为如下几个步骤:(1)在AndroidManifest.xml清单文件中为应用程序添加权限。(2)得到

7、WifiManager对象。WifiManager wifiManager=(WifiManager)Context.getSystemService(Service.WIFI_SERVICE);其中Context为当前Activity对象,getSystemService是Android中的一个很重要的API,它是Activity的一个方法,根据传入的参数来获取相应的服务对象。(3)打开Wi-Fi网卡。wifiManager.setWifiEnabled(true);(4)关闭Wi-Fi网卡。wifiManager.setWifiEnabled(false);(5)获取当前Wi-Fi网卡状态

8、。wifiManager.getWifiState();9.3.2 WifiInfo类 该类主要用于在Wi-Fi网卡连通后获取Wi-Fi的相关信息,主要包括:Mac地址、IP地址、连接速度、网络信号等。WifiInfo对象的获取主要通过调用WifiManager类的getConnectionInfo()方法得到。具体代码如下:WifiInfo wifiInfo=wifiManager.getConnectionInfo();9.4 蓝牙传输编程 Android应用程序框架提供了访问蓝牙功能的API,这些API能够让应用程序无线连接其他蓝牙设备,实现点对点或点对多点的信息交换功能。具体功能只要有

9、:(1)扫描其它蓝牙设备。(2)查询本地蓝牙适配器用于配对蓝牙设备。(3)建立RFCOMM信道。(4)通过服务发现连接其他设备。(5)数据通信。(6)管理多个连接。9.4.1 Android蓝牙API介绍 Android支持的蓝牙开发类在android.bluetooth包中。编程主要涉及的类有BluetoothAdapter与BluetoothDevice类,这两个类用于蓝牙设备的管理;还有BluetoothServerSocket和BluetoothSocket类,这两个类用于蓝牙通信。9.4.2 Android蓝牙基本应用编程(1)为了在应用中使用蓝牙功能,要在AndroidManife

10、st.xml清单文件中声明蓝牙应用权限。代码如下所示。9.4.3 蓝牙连接与数据传输 有两种方法实现蓝牙连接,一种是每一个设备都自动准备作为一个服务器,拥有一个服务器Socket并监听连接,然后每个设备也都能作为客户端建立一个到远程设备的连接。另一种是一个设备作为服务器Socket,另外一个设备仅作为客户端建立与服务器的连接。下面是建立服务器Socket和接收连接的基本步骤:(1)通过调用listenUsingRfcommWithServiceRecord(String,UUID)方法得到一个BluetoothServerSocket对象。String参数为服务的标识名称,名字可以任意。当客户

11、端试图连接本设备时,它将携带一个UUID用来唯一标识它要连接的服务,UUID必须匹配,连接才会接收。(2)通过调用BluetoothServerSocket对象的accept()方法监听连接请求。该方法为阻塞方法,直到接收一个连接或异常才会返回。当客户端携带的UUID与监听它的Socket注册的UUID匹配时,连接才会被接收,这时accept()方法将返回一个 BluetoothSocket对象。(3)使用BluetoothServerSocket对象的close()方法释放服务器Socket及其资源,该方法不会关闭accept()方法返回的BluetoothSocket对象。建立客户端Soc

12、ket连接到服务器的基本步骤:(1)使用BluetoothDevice调用方法createRfcommSocketToServiceRecord(UUID)获取一个BluetoothSocket对象。(2)调用该BluetoothSocket对象的connect()方法建立连接。当调用这个方法时,系统会在远程设备上完成一个SDP协议的查找来匹配UUID。如果查找成功并且远程设备接收连接,就共享RFCOMM信道,connect()方法会返回。该方法也是一个阻塞调用,如果连接失败或者超时(12s)都会抛出异常。如果两个设备成功建立连接,各自都会有一个BluetoothSocket对象,此时就可以在

13、设备间共享数据了。使用BluetoothSocket传输数据的通常方法如下:分别使用getInputStream()和getOutputStream()获取输入输出流来处理传输。调用read(byte)和write(byte)来实现数据流的读和写。9.5 WebView组件 WebView作为浏览器网络资源的视图组件,具有以下几个优点:功能强大,支持HTML、CSS和JavaScript,并很好地融入布局,使页面更加美观;能够对浏览器控件进行详细的设置,例如字体、背景颜色和滚动条样式等;能够捕获到所有浏览器的操作,例如单击、打开或关闭URL。使用WebView组件的基本步骤如下:(1)在And

14、roidManifest.xml清单文件中配置访问网络权限;(2)在布局文件中创建WebView元素;(3)在代码中加载网页。在加载网页内容时,除了使用WebView的loadUrl()方法进行加载外,还可以使用loadData()或loadDataWithBaseURL()方法将HTML代码片段或本地存储的HTML页面显示出来。WebView控件提供的loadData()方法用于加载HTML片段,该方法的语法格式如下所示。public void loadData(String data,String mimeType,.String encoding)/*compiled code*/其中,参数data是HTML内容;参数mimeType是MIME类型,如text/html指明文本类型是HTML格式;参数encoding是编码字符集。谢谢

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《Android程序设计教程》课件第九章 网络编程.pptx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|