快速业务通道

使用JSR-82 API实现OBEX图像传输 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
= localDevice.getDiscoveryAgent();          //deviceDiscoveryPanel.updateStatus(" Searching for Bluetooth devices in the vicinity...n");          discoveryAgent.startInquiry(DiscoveryAgent.GIAC, this);        } catch(Exception e) {          e.printStackTrace();        }      }      public void deviceDiscovered(RemoteDevice remoteDevice, DeviceClass cod) {        try{          remoteDevices.addElement(remoteDevice);        } catch(Exception e){          e.printStackTrace();        }      }      public void inquiryCompleted(int discType) {        if (remoteDevices.size() > 0) {          // the discovery process was a success          // so let''s out them in a List and display it to the user          for (int i=0; i

使用JSR-82 API实现OBEX图像传输(5)

时间:2011-07-28 Bruce Hopkins

在 BTUtility 内部类中,您可能会注意到在多处都使用了十六进制值。尤其是:

    UUID[] uuidSet = {new UUID(0x1105) };      // 0x0100 is the attribute for the service name element      // in the service record      int[] attrSet = {0x0100};

现在,如果您记得上面的表 1 中的值,就可以理解为什么创建 0x1105 UUID 值,因为它是对象推送 模式的 UUID。然而,在 attrSet 中也使用了 0x0100 值,通过它可以了解远程服务的服务名称。

ImageSender.FilePusher

到目前为止我们有哪些收获?首先,我们拥有一个可以使用 JSR-75 FileConnection API 浏览文件系 统的 Midlet(当然这都是内部类 FileNavigator 实现的)。Midlet 还能够发现附近的远程蓝牙设备并 确定该设备上可用的服务(这项功能是由另一个内部类 BTUtility 提供的)。所以,现在只需实现使用 BBEX 向远程蓝牙设备发送文件的机制。

FilePusher 通过使用 org.netbeans.microedition.lcdui.WaitScreen(如图 8 所示)并实现 org.netbeans.microedition.util.CancellableTask(它扩展了 Runnable)轻而易举地完成了这项任务 。

使用JSR-82 API实现OBEX图像传输 - 编程入门网

图 8:使用 WaitScreen 的 NetBeans 流设计快照

如上图所示,WaitScreen 将执行 CPU 密集型任务(如执行网络 I/O)。该任务必须实现 CancellableTask 接口(正是 FilePusher 内部类实现了该功能)。使用 IDE,可以用图形的方式连接到 成功或失败屏幕(具体取决于操作结果)。FilePusher 代码如以下列表所示:

  class FilePusher implements CancellableTask{      // this is used for the purposes of the Cancellable task      boolean isOperationFailed = false;      // this is the failure message used by the Cancellable task      String failure_message = null;      // this is the connection object to be used for      // bluetooth i/o      Connection connection = null;      public FilePusher(){      }      // this is method 1 of 4 methods needed to be implemented by      // the CancellableTask interface      public boolean cancel(){        // sorry this can''t be cancelled        return false;      }      // this is method 2 of 4 needed to be implemented by      // the CancellableTask interface      public String getFailureMessage(){        // of course,

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号