用于接收数据和显示的蓝牙应用程序

时间:2011-05-05 08:02:59

标签: android bluetooth

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

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

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

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();