
【移动开发小亮点】 JABWT
目录
词汇翻译解释:.......................................................................................................................3
使用Java蓝牙无线通讯技术API(第一部分 -API概览) ....................4
背景...........................................................................................................................................4
典型的蓝牙应用程序实例.......................................................................................................5
蓝牙应用程序中的元素...........................................................................................................7
Java蓝牙API核心概述............................................................................................................8
蓝牙发现API ....................................................................................................................8
设备发现API ............................................................................................................9
服务发现API ............................................................................................................9
UUID类...................................................................................................................10
SDDB和ServiceRecord接口 ...............................................................................11
数据元素类.............................................................................................................12
设备管理API ..................................................................................................................12
LocalDevice类.......................................................................................................12
RemoteDevice类 ..................................................................................................13
DeviceClass类 ......................................................................................................14
蓝牙通信API ..................................................................................................................14
服务器连接和客户端连接.....................................................................................16
异常.........................................................................................................................................16
蓝牙安全.................................................................................................................................16
蓝牙控制中心.........................................................................................................................17
在Sun Wireless Toolkit中对蓝牙的支持.............................................................................17
概要.........................................................................................................................................19
使用Java蓝牙无线通讯技术API(第二部分-核心API的使用) .......20
介绍.........................................................................................................................................20
初始化蓝牙应用程序.............................................................................................................21
处理连接.................................................................................................................................23
设置一个蓝牙服务器.............................................................................................................25
创建一个服务记录.........................................................................................................26
注册服务和等候引入连接.............................................................................................26
更新服务记录.................................................................................................................27
关闭连接和移除服务记录.............................................................................................28
发现周围设备和服务.............................................................................................................28
连接到一个服务.....................................................................................................................35
锁定一个蓝牙连接.................................................................................................................37
确认一个远程设备:.....................................................................................................37
授权一个远程设备访问一个被提供的服务:.............................................................38
加密一个连接.................................................................................................................38
JABWT 和 MIDP 2.0 的安全性.........................................................................................38
JABWT和MIDP2.0 的PushRegistry..................................................................................39

【移动开发小亮点】 JABWT
概要.........................................................................................................................................39
致谢.........................................................................................................................................40
资源.........................................................................................................................................40
关于作者.................................................................................................................................40
词汇翻译解释:
cached devices ―― 贮藏设备(先前已发现的设备)
discoverable ―― 可被发现的
discovery ―― 发现
given services ―― 已提供的服务
helper method ―― 助理方法
kicking off ―― 启动
makes services ―― 提供服务
notifier ―― 通告
retrieve ―― 回收
search cycle ―― 搜索循环
Securing Connection ―― 锁定连接
services of interest ―― 感兴趣的服务
Vector ―― 向量
编译匆忙,难免出错,如您发现任何纰漏和错误的话,麻烦请联系:
email2chenxi@gmail.com

【移动开发小亮点】 JABWT
使用 Java 蓝牙无线通讯技术 API(第一部分 -API 概览)
作者 C. Enrique Ortiz, 12, 2004
蓝牙是一种低成本、短距离的无线通信技术。对于那些希望创建个人局域网(PANs)
的人们来说,蓝牙技术已经越来越流行了。每个个人局域网都在独立设备的周围被动态地创
建,并且为蜂窝式电话和 PDA 等设备提供了自动连接和即时共享数据的能力。
为了在 Java 平台上开发支持蓝牙技术的软件,JCP 定义了 JSR82 标准--Java 蓝牙无线技
术 APIs(JABWT)。
在这篇文章中,我将介绍一些关于蓝牙技术的背景,概述一下支持蓝牙技术的 MIDlet
应用程序的典型要素,然后介绍给你核心的 Java 蓝牙 APIs。最后我们展示一些代码来演示
如何使用这些 APIs。
实际上JSR82 定义了两个独立的可选包:核心蓝牙API和对象交换(OBEX)API。这篇
文章将对这两个中更为普遍的部分--核心蓝牙包javax.bluetooth进行详细地阐述,而OBEX
API(对象交换),我们留到以后去讨论。
背景
蓝牙技术由蓝牙兴趣小组发展而来,其包括:
.蓝牙无线电技术
.蓝牙协议栈
.蓝牙互操作性 profiles
蓝牙无线电技术基于在工业、科学以及医学(ISM)上公用的 2.45GHz 开放频段,这一
频段无需授权并全球通用。当蓝牙设备互相连接时,他们将组成一个微微网(piconet),即
以一个主设备和最大 7 个从设备的形式动态创建网络。蓝牙也支持 piconet 网之间的连接:
当一个 piconet 中的主设备成为另一个 piconet 的从设备时,piconet 与 piconet 间将形成桥接。
蓝牙协议栈提供了一组的高层协议和 API 以完成发现服务和模拟串行 I/O,还有一个关于
包分割和重组的低层协议以及多路技术协议和质量服务。
蓝牙互操作性 profiles--不要与 J2ME profiles 搞混--它是用来描述跨平台互操作性和一致
性需求的。蓝牙互操作性 profiles 包括三方面内容:
通用访问 profile(GAP)定义了设备管理功能性;
服务发现应用 profiles(SDP)定义了服务发现方面的内容;
串口 profiles(RFCOMM)定义了互操作设备和模拟串口电缆的能力。
你可以通过蓝牙规范(Bluetooth specification)学习这些和其它的 profiles。

【移动开发小亮点】 JABWT
蓝牙栈包含一个软件栈来映射一个固件栈(firmware),由图 1 所示:
图片 1:蓝牙协议栈
JSR82 揭示了蓝牙软件栈给Java平台的开发者。其中引起我们兴趣的是服务发现协议
(SDP),用来模拟串口的串口profile RFCOMM, 向上层协议提供诸如分割和重组等导向
性连接的数据转换操作的逻辑链路控制及适配profile(L2CAP),以及多路技术协议。注意:
JABWT不支持无连接L2CAP。
JABWT 也包括对象交换 API。OBEX 也是高层 API,它用来交换对象数据,诸如电子
商业卡和日历标签之间以 vCard 和 vCalendar 的格式进行数据传输。在蓝牙上,对象交换通
过 RFCOMM 发生。OBEX 在最开始时是由红外(IrDA)引入的,并且它可以在 IrDA 协议、
TCP/IP 或者是其他协议的顶层实现。
典型的蓝牙应用程序实例
一个开启蓝牙功能的应用可以作为一个服务端或是一个客户端-- 一个服务的提供者或是
消费者,或者它可以作为一个真正的点对点终端同时表现出服务和客户的行为。图 2 所示一
个蓝牙规范用例:
评论0