从入门到精通:轻松学会Android蓝牙编程,实战案例带你玩转智能设备连接

2026-11-05 0 阅读

在智能设备日益普及的今天,Android蓝牙编程成为了开发者必备的技能之一。蓝牙技术作为一种短距离无线通信技术,广泛应用于各种智能设备之间。本文将带你从入门到精通,轻松学会Android蓝牙编程,并通过实战案例带你玩转智能设备连接。

一、Android蓝牙编程基础

1.1 蓝牙技术简介

蓝牙(Bluetooth)是一种无线技术标准,旨在实现固定设备、移动设备和楼宇个人域网之间的短距离通信。它采用2.4GHz的ISM频段,传输速率最高可达1Mbps。

1.2 Android蓝牙API

Android系统提供了丰富的蓝牙API,包括BluetoothAdapter、BluetoothDevice、BluetoothSocket等类,用于实现蓝牙设备的搜索、连接、数据传输等功能。

二、Android蓝牙编程实战

2.1 蓝牙设备搜索与连接

以下是一个简单的蓝牙设备搜索与连接的示例代码:

// 获取蓝牙适配器
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

// 开始搜索蓝牙设备
bluetoothAdapter.startDiscovery();

// 监听搜索结果
bluetoothAdapter.getScanResults().forEach(result -> {
    // 获取设备名称和地址
    String deviceName = result.getName();
    String deviceAddress = result.getAddress();

    // 连接设备
    BluetoothDevice device = bluetoothAdapter.getRemoteDevice(deviceAddress);
    device.connect();
});

2.2 蓝牙数据传输

蓝牙数据传输主要分为两种方式:SPP(串口通信协议)和GATT(通用属性配置协议)。

2.2.1 SPP数据传输

以下是一个使用SPP进行数据传输的示例代码:

// 连接蓝牙设备
BluetoothDevice device = bluetoothAdapter.getRemoteDevice(deviceAddress);
BluetoothSocket socket = device.createRfcommSocketToServiceRecord(BluetoothServiceUUID);

// 连接成功后,获取输入输出流
InputStream inputStream = socket.getInputStream();
OutputStream outputStream = socket.getOutputStream();

// 发送数据
outputStream.write("Hello, Bluetooth!".getBytes());

// 接收数据
byte[] buffer = new byte[1024];
int length = inputStream.read(buffer);
String receivedData = new String(buffer, 0, length);

// 关闭连接
socket.close();

2.2.2 GATT数据传输

以下是一个使用GATT进行数据传输的示例代码:

// 连接蓝牙设备
BluetoothDevice device = bluetoothAdapter.getRemoteDevice(deviceAddress);
BluetoothGatt gatt = device.connectGatt(context, false, new BluetoothGattCallback());

// 获取服务
BluetoothGattService service = gatt.getService(BluetoothServiceUUID);

// 获取特征
BluetoothGattCharacteristic characteristic = service.getCharacteristic(BluetoothCharacteristicUUID);

// 写入数据
gatt.writeCharacteristic(characteristic);

// 读取数据
gatt.readCharacteristic(characteristic);

三、总结

通过本文的介绍,相信你已经对Android蓝牙编程有了初步的了解。在实际开发过程中,你可以根据需求选择合适的蓝牙通信方式,并通过实战案例不断提升自己的编程能力。希望本文能帮助你轻松学会Android蓝牙编程,玩转智能设备连接。

分享到: