预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Android2.0蓝牙功能及RFCOMM、SDP简介 一.Android2.0蓝牙功能简介 Google于2009年10月28日发布了AndroidSDK2.0版本。对于开发人员来说,最关心的莫过于新版本添加了哪些新特性,API有哪些改动。2.0版本发布前,最受关注的就是能否在新版本中添加蓝牙功能。Google果然不负众望,在2.0版本中加入了蓝牙功能,使Android平台功能更加强大。蓝牙模块实现了以下功能: 蓝牙的打开/关闭。 设备和服务的探索。 使用RFCOMM连接远程设备发送/接收数据。 公布RFCOMM服务和监听接入的RFCOMM连接。 新版本添加了android.bluetooth包。该包提供了一些用于管理蓝牙设备的功能类。蓝牙的APIs允许应用程序连接或断开headset(头戴式耳机),扫描其他蓝牙设备并与之配对。增强了写和修改本地服务发现协议(ServiceDiscoveryProtocol,SDP)数据库,查询其他蓝牙设备SDP数据库,在Android上建立RFCOMM通道/Socket,连接到其他设备指定Socket的控制。 注意:不是所有的Android设备都能保证有蓝牙功能。 下面是android.bluetooth包中类的简述: BluetoothAdapter代表本地蓝牙适配器。 可以使用getDefaultAdapter()方法获得默认的本地蓝牙适配器。 使用BluetoothDevice类在远程蓝牙设备上进行操作。BluetoothClass表示一个蓝牙类。 蓝牙类是一个32位字段,这些位的格式定义在。这个类包含32位字段,提供常数和方法去确定在这个字段中编码的服务类和设备类(服务类可以有多个)。 每个蓝牙类可组成零至多个服务类,确切的说是一个设备类。这个设备类进一步分解为主要和次要设备类组件。 这个类通常用于表示一个设备(如在用户界面显示一个图标),但不能可靠的描述哪个蓝牙配置或服务被设备支持。精确的服务搜索是通过SDP请求得到的。 .远程设备可以通过getBluetoothClass()方法检索这个类。BluetoothClass.Device蓝牙设备类。确切的说,每个BluetoothClass编码一个设备类,分为主要和次要组件。 BluetoothClass.Device里的常量表示一个主设备和从设备的组合(即完整的设备类)BluetoothClass.Device.Major中的常量表示的只是主设备类。参见BluetoothClass.DeviceBluetoothClass.Service蓝牙服务类。每个蓝牙类编码零至多个服务类。BluetoothDevice代表一个远程蓝牙设备。可以使用getRemoteDevice(String)方法创建一个BluetoothDevice. 实际上这个类是一个蓝牙硬件地址的简单封装。这个类的对象是不变的。这个类的操作在远程蓝牙硬件地址上执行,可使用蓝牙适配器创建这个蓝牙设备。BluetoothServerSocket一个监听蓝牙的Socket。这个蓝牙Socket的接口类似于TCP的Sockets:Socket和ServerSocket.在服务端,使用一个BluetoothServerSocket创建一个监听socket.它会返回一个新的已接收连接的BluetoothSocket。在客户端,使用同样的BluetoothSocket对象去初始化输出连接和管理已连接的socket. 最常见的蓝牙Socket类型是RFCOMM.RFCOMM是一个在蓝牙上建立的定向的流传输连接。又称为串行端口配置文件SerialPortProfile(SPP). 使用createRfcommSocketToServiceRecord(UUID)去创建一个新的BluetoothSocket,用于一个输出连接到远程蓝牙设备。 使用listenUsingRfcommWithServiceRecord(String,UUID)去创建一个用于监听的BluetoothServerSocket用于输入连接到本地BluetoothAdapter. BluetoothSocket和BluetoothServerSocket是线程安全的。特别要注意的是,close()方法会立即中断操作并关闭socket. BluetoothServerSocket中的所有方法都需要Manifest.permission的BLUETOOTH权限。BluetoothSocket一个已连接或正在连接的蓝牙端口。与服务端的连接参见BluetoothServerSocket。该类中的所有方法也都需要Manifest.permission的BLUETOOTH权限。 Android蓝牙模型原理及设备之间的连接已再【