【问题标题】:Bluetooth App for receiving data and displaying用于接收数据和显示的蓝牙应用程序
【发布时间】:2011-08-19 03:57:56
【问题描述】:

我正在为 android 开发一个接收数据并显示它的蓝牙应用程序。该应用程序的功能只是通过蓝牙接收数据并显示它。我是安卓新手,所以需要帮助。

我已经浏览了蓝牙聊天示例代码。我有一个疑问。此处使用的服务用于发送和接收数据。但我的应用程序只会接收和显示。没有发送。任何人都可以帮助我如何进行修改?请提供代码更改。

【问题讨论】:

  • 从哪里接收数据?
  • 正如 Hussain 上面指出的,重要的是要知道你的数据来自哪里,例如来自微控制器、来自另一部 Android 手机、来自 PC 等等。它有助于缩小范围,最终我们可以为您提供解决方案。

标签: android bluetooth


【解决方案1】:

按照以下代码获取通过蓝牙接收的数据的详细信息

final String pathToWatch1 = android.os.Environment.getExternalStorageDirectory().
    toString() + "/bluetooth";       

        observer = new FileObserver(pathToWatch1) 
        { 
        @Override
        public void onEvent(int event, String file) 
        {
        if(event == FileObserver.CREATE && !file.equals(".probe")){
                Log.v("tag", "blue tooth 
    [" + android.os.Environment.getExternalStorageDirectory().toString() 
+ "/bluetooth" + file + "]");

            } 

        }
        };
        observer.startWatching();

【讨论】:

    【解决方案2】:

    您可以直接使用蓝牙聊天示例,但在您的接收应用程序中,您永远不会调用 sendMessage() 方法。

    蓝牙聊天示例中的主要 Activity 是 BluetoothChat.java。对于您的接收应用程序,您可以从这个 Activity 作为您自己的 Activity 的基础开始,对其进行修改,以便它以您希望的任何格式显示传入的数据,而不是使用 ListView。因为您的应用程序永远不会发送数据,所以您永远不会调用 sendMessage()。如果你真的想要,你可以删除 sendMessage() 方法,并删除用于编写传出消息的 EditText。等等。

    碰巧的是,上周末我在我组织的汽车赛道日活动中使用了蓝牙聊天示例将我的 Archos 101 变成了汽车单圈时间公告板。我将 Archos 101 放在人们可以看到的地方,然后通过蓝牙从 HTC Desire 将单圈时间发送给它。在发送端和接收端,我只是简单地使用了蓝牙聊天代码作为基础。在传输应用程序中,我使用 sendMessage() 发送单圈时间;任何可能在 handleMessage() 中收到的消息都被简单地丢弃了。在接收应用程序中,从未使用过 sendMessage(),我只在 handleMessage() 中从 MESSAGE_READ 案例中读取数据字节。然后从那里读出的数据存储到 SQLite 并显示在表格布局中。

    【讨论】:

    • 非常感谢您对Trev16v的宝贵建议。我已经按照您的建议进行了更改。但我有一个问题。发送数据的设备不是安卓设备。它是一种通过蓝牙记录和发送数据的设备。我的 android 应用程序必须接收这些数据并显示它。那么在这种情况下,这个聊天应用程序也可以工作吗?如果不是,请告诉我需要做哪些修改才能正确接收数据。
    • 嗨 Syed,您知道数据发送设备使用的协议吗?它可能只是简单的 SPP(串行端口配置文件)。你知道使用什么 UUID 吗?您有设备的型号或数据表吗?
    • 如果您能将目前所获得的信息提供给我们会更好,我们可以帮助您解决问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-21
    • 1970-01-01
    • 2012-02-17
    相关资源
    最近更新 更多