日期:2014-05-16  浏览次数:20406 次

BlueTooth探索系列(一)---JSR082 API框架剪影

可以自由转载, 转载请保留下面的作者信息:

作者 cleverpig(http://www.matrix.org.cn/blog/cleverpig)



一、JSR082 API框架:

1.API分类:JSR82API从功能上分为3大类:
1).发现:包括设备/服务发现,服务注册;
2).通讯:包括建立设备之间的连接、使用这些连接;
3).设备管理:可以负责管理和控制连接。
所以这3类的关系主要是:设备管理-(管理)->通讯-(实现)->发现。

2.开发包划分:
1).javax.bluetooth:提供实现蓝牙功能的API。
2).javax.obex:提供无线上OBject EXchange的API。
这两个包是各自独立的,互相没有依赖关系。但是他们都依赖javax.microedition.io包。

3.MIDPBluetooth API的关系:
1).CLDC:连接受限制设备配置,即KVM,提供了基本的java语法安全验证和sandbox的安全功能。但是由于设备的处理能力有限,这里的验证只是通过预验证实现的,即把验证的工作放在了计算机上,而不是j2se中的编译和类装载时的安全验证。
只包含了java.lang、java.io、java.util这三个功能有限的包。
2).MIDP:移动信息设备框架,位于CLDC的上层,对CLDC的基本功能进行扩展。提供了网络和多媒体、存储功能。
3).Bluetooth API:蓝牙应用程序接口。与MIDP平级,但独立于MIDP,可与MIDP或CLDC共存。

4.蓝牙控制中心(BCC)
  实现Bluetooth API的蓝牙设备,允许多个应用同时执行,这就需要BCC来避免一个应用与其它应用发生冲突。BBC具有允许用户或者OEM在蓝牙堆栈中定义某个配置的指定值,并解决由使用蓝牙API的应用所造成的冲突请求。
  所以BBC是本地蓝牙设备设置的核心授权者,它的细节留给了实现:它可能是厂商提供的一个使用一个单独的API或者一组简单的配置本地应用程序,不能被使用者修改。


下面谈一下BBC与安全模式的关系: