简单的蓝牙数据交互案例

通过蓝牙传输数据Socket类似。在网络中使用SocketServerSocket控制客户端和服务端的数据读写。而蓝牙通讯也由客户端和服务端Socket来完成。蓝牙客户端SocketBluetoothSocket,蓝牙服务端SocketBluetoothServerSocket。这两个类都在android.bluetooth包中

      

无论BluetoothSocket,还是BluetoothServerSocket,都需要一个UUID(全局唯一标识符,UniversallyUnique Identifier.格式如下:

xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

UUID的格式被分成5段,其中中间3段的字符数相同,都是4,第1段是8个字符,最后一段是12个字符。所以UUID实际上是一个8-4-4-4-12的字符串。

UUID相当于Socket的端口,而蓝牙地址相当于SocketIP


效果图:

搜索设备:


向一个设备发送数据

另一台设备收到了信息,并显示出来了:




——————————————————————————————————————

值得注意的是在建立连接的时候,设备、输出流、接口等变量需要是全局变量,否则方法执行完,就断开连接了。然后进行第二次发送数据就接收不到了。


下面我们就来做这个demo吧,在测试的时候需要手动开启蓝牙,如果需要自动开启蓝牙请查看我上一篇博客。

首先,必不可少的就是添加两个蓝牙权限:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值