在Java ME中通过蓝牙发现设备并传送文件 - 编程入门网
在Java ME中通过蓝牙发现设备并传送文件时间:2011-10-07 IT专家网在Java ME设备上执行蓝牙应用程序的首要步骤之一就是发现过程(discovery process)。简而言之就 是,发现过程就是带有蓝牙的设备互相找到彼此的过程,然后一起携手找出它们各个可以支持的服务。下 一步就是要学习如何在这些两两设备之间传送数据。 在本篇技术小文章中,我将向你展示如何创建一个可以互相查找设备的一个MIDlet,然后让用户发送 一个简单的消息到其中一个被找到的设备中。我已经在Nokia N95的机器上测试并核实了这个MIDlet的工 作了,通过启用蓝牙支持,它可以连接到一个运行Windows Vista的电脑上。 我把整个过程分成以下几个步骤: 1. 开始发现过程。 2. 查询在发现过程中找到的设备所支持的服务。 3. 使用支持服务的URL开始并处理一个OBEX数据交换。 以下各段将详细说明这些步骤。在这些步骤中遵循代码片段可以查阅这个MIDlet的整个源代码。源代 码可以在最后的Resources下的压缩文件中获得。 第一步:开始发现过程 发现过程是用来告诉本地蓝牙堆栈可以和在附近任何蓝牙设备进行配对。在这个MIDlet中,这个堆栈 可以通过你的设备提供者所提供的JSR 82来完成。这个发现过程通过发现在本地设备中的代理来开始的, 如以下代码所示:
一旦发现代理启动发现过程,它将在一个执行DiscoveryListener接口的类上调用各种调回方法。就我 们而言,这是我们的MIDlet类。 具体来说,必须执行这个接口的四个方法,其中两个是在发现阶段我们所感兴趣的: deviceDiscovered(RemoteDevice btDevice, DeviceClass cod) 和 inquiryCompleted(int discType)。 这两个方法处理一个设备的发现并完成发现过程。在以下所展示的来自MIDlet的代码中,一旦它们被发现 或是当程序结束的时候,我们使用这些方法来添加我们的设备上的UI。
在Java ME中通过蓝牙发现设备并传送文件(2)时间:2011-10-07 IT专家网第二步: 在已发现的设备上开始服务发现(service discovery) 由于本文的目的是让数据从我们的MIDlet中传输到一个兼容的设备上,我们需要在已发现的设备上找 到这些服务来实现这个目标。为了达到这个目的,我们需要在服务发现过程中定义正确的属性和UUIDs。 以下代码将显示如何来做这个:
正如你所猜到的,这些代码使用我们以前用过的本地代理来查找设备。我们不是在一组特定的属性之 后,所以我们需要用null作为第一个参数,但是UUID必须是OBEX PUSH配置文件,因为这是传输数据的一 个最开放式的方法。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |