动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.java多线程设计模式详解之二.
.Java新手入门需要掌握的30个基本.
.逐步深入剖析java类的构造方式.
.浅谈Java串行端口技术协议.
.在Java中对标准流进行重定向.
.Java通信和网络管理.
.Java语言中两种异常的差别.
.如何用servlet在客户端生成一个合.
.Java图形用户界面设计.
.迈向高质量的12个步骤.
.UploadBean源代码.
.给大家推荐几个方便java编辑的软.
.JADT 入门,第 1 部分.
.java中传值及引伸深度克隆的思考.
.在J2ME中实现基于UDP协议通讯程序.
.Java 纵 横 谈.
.Sun Mustang 进入2006.
.JAVA从入门到精通.
.java中容易搞错的一些东东.
.了解Hibernate的FlushMode.NEVER.

使用Java蓝牙无线通讯技术API(第一部分 -API概览)(2)

发表日期:2008-1-5 |


数据元素类
    一个服务可以有许多的属性,一些是强制性的,其他的是可选的。一个服务属性由一个数据元素对象来表现,这个数据元素对象提供了设置并取得属性值的方法。
    强制性属性是在注册一个服务之后被自动设定的。这些属性包括:ServiceRecordHandle,ServiceClassIDList, ServiceRecordState, ServiceID, 还有 ProtocolDescriptorList。
    假如你想要的话,还可以设置可选属性。可选属性有很多,但是有三个值得关注:ServiceName,ServiceDescription, 和 ProviderName。
    想得到更多的关于这些属性的信息,请参看JABWT的文档或蓝牙规范。
设备治理API
    有3个主要的类来支持设备治理:
    .LocalDevice
    .RemoteDevice
    .DeviceClass
本地设备类
LocalDevice类标识了本地蓝牙设备。蓝牙应用程序和LocalDevice之间的关系是典型的一对一关系:

使用Java蓝牙无线通讯技术API(第一部分 -API概览)(2)(图一)
图 10:本地设备类
本地设备提供了方法来返回关于本地设备的信息,并且能够进入Bluetooth manager:
    .getBluetoothAddress()返回蓝牙设备地址。
    .getDeviceClass()返回设备类。
    .getFriendlyName()返回设备友好名称,蓝牙设备名通常是用户在蓝牙控制中心为其设置的我们将会在后面看到。
    .getRecord()返回一个指定蓝牙连接的服务记录。
    .updateRecord()方法用来为指定的ServiceRecord更新SDDB服务记录。
    .getDiscoverable()返回设备的可发现状态。
    .setDiscoverable()设置设备的可发现状态。
    .getDiscoveryAgent()返回一个参考给发现代理。
    .getProperty()返回一个设备的蓝牙属性
通过调用getProperty()方法你可以得到的属性包括:
    .bluetooth.api.version,蓝牙API版本
    .bluetooth.sd.attr.retrievable.max,一次性能够被获得的服务记录属性的最大值
    .bluetooth.connected.devices.max,支持的连接设备的最大值
    .bluetooth.sd.trans.max,同时发生的服务发现处理的最大值
    .bluetooth.l2cap.receiveMTU.max,L2CAP最大发射单元
你可以在Javadoc文档中或是规范中学习更多的有关蓝牙属性的内容。
远端设备类
    一个RemoteDevice的实例代表了一个远端蓝牙设备。在一个蓝牙客户端应用程序可以进行服务,消费之前,它必须发送一个设备请求来发现远端设备。典型的蓝牙应用程序和远端设备之间的关系是一对多:
使用Java蓝牙无线通讯技术API(第一部分 -API概览)(2)(图二)
图 11: 远端设备类
远端设备(RemoteDevice)提供的方法中,有些很类似于本地设备(LocalDevice)里提供的方法:
    .getBluetoothAddress()返回蓝牙地址。
    .getFriendlyName()返回蓝牙设备名。
    .getRemoteDevice()返回相应的被指定蓝牙连接的远端设备。
    .authenticate()尝试识别验证远端设备。
    .authorize()为指定的蓝牙连接去尝试批准远端设备访问本地设备。
    .encrypt()尝试为指定的蓝牙连接开启或关闭加密。
    .isAuthenticated()测试是否远端设备可以被验证。
    .isAuthorized()测试是否远端设备已经被蓝牙控制中心授权访问本地设备以进行蓝牙连接。
    .isEncrypted()测试是否本地设备和远端设备之间的通信被加密。
    .isTrustedDevice()测试是否远端设备被蓝牙控制中心指定为可信任的。
DeviceClass类
    一个DeviceClass对象代表一个设备的设备类(CoD),例如一个打印机或者一部电话。CoD包括一个主类,一个辅的类,和服务类型或服务类。DeviceClass提供了如下方法:
    .getMajorDeviceClass()方法获取设备的主类。
    .getMinorDeviceClass()方法获取设备的辅类。
    .getServiceClasses()获取设备的服务类。
当一个设备被发现,同时他的类也会被发现;当发现代理调用deviceDiscovered()时,其中一个参数就是DeviceClass。你可以通过它的getDeviceClass()方法找到本地设备的CoD。
蓝牙通信
    JABWT连接是基于逻辑链路及适配层协议的。L2CAP是一个低级协议用来治理数据包,直到达到64k。L2CAP中的处理细节像消息分割和重组(SAR),多路连接。另外,串口Profile(SPP)提供RFCOMM,一个通过L2CAP层的串行模拟协议。
    L2CAP和RFCOMM连接都是基于通用连接框架(GCF)的,直接通向接口和类的层次去创建连接和执行IO命令。JABWT依靠L2CAP和RFCOMM协议扩展了通用连接框架(GCF)以分别支持通过L2CAPConnection 和StreamConnection类型连接。就在L2CAPConnection被JSR 82介绍的同时,StreamConnection在原始的javax.microedition.io的GCF中被定义了,它是依靠CLDC发展来的。注重,JABWT中L2CAPConnection仅支持面向连接的L2CAP连接。图12显示了以基于GCF形式的各接口通过蓝牙网络进行通信的过程:
使用Java蓝牙无线通讯技术API(第一部分 -API概览)(2)(图三)
图 12: 通用连接框架和蓝牙连接类型
    层次定义了L2CAP和Stream的连接和连接通知器。一个连接定义了一个连接终端,当一个连接通知器执行了服务行为时,它会等待并接受L2CAP连接处理。
    处理L2CAP连接比处理流连接更复杂。使用L2CAP时,开发者们必须处理好最大消息的大小(即最大传输单位,或叫做MTU)、打断和重组等。这些复杂的事项在开发者使用流连接的时候被隐藏了,以使他们处理蓝牙连通时获得更好的效率。
    如同所有的GCF连接类型,你可以通过调用GCF连接工厂方法javax.microedition.io.Connector创建蓝牙连接。传递给Connector()方法的连接URL决定了要创建的连接类型:
一个L2CAPConnection连接的URL格式:

BTspp://hostname:[CN UUID];parameters

一个RFCOMMStreamConnection连接的URL格式:

btspp://hostname:[CN UUID];parameters


上一篇:java多线程设计模式详解之二 人气:563
下一篇:使用Java蓝牙无线通讯技术API(第一部分 -API概览)(1) 人气:658
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-10 企业网站智能管理系统(TZIMS) v6
2008-10-10 拓文asp.net网站内容管理系统 v6
2008-10-10 动网论坛PHP版 v2.0++ Build 081
2008-10-10 免费时代CMS v5.0
2008-10-10 wodig第四季中文DIGG社区 v4.1 b
2008-10-10 老Y文章管理系统 v2.2 bulid 081
2008-10-10 魔法盒动感相册 ASP+SQL版 v2.0
2008-10-10 Asoft签到管理系统 v3.0 Pack1
2008-10-10 哥特人音乐网潮流留言本 v1.1
2008-10-11 TN5250-AS/400商用服务器 v1.1破
2008-10-11 TVForecast电视节目导航 v1.0 破
2008-10-11 Spend花销明细 v1.25 破解版
2008-10-11 SpaceEnvi空间画廊 v1.0.2 破解版
2008-10-11 VoiceDial语音拨号 v1.0 破解版
2008-10-11 SonicLighter神圣火焰杯 v1.0 破
2008-10-11 Folders文件保护 v1.3破解版
2008-10-11 iProtractor量角器 v0.95破解版
2008-10-11 Fring多平台通讯软件 v1.0.1.4破
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成