Android蓝牙编程入门:从基础到实战,轻松实现设备连接与数据传输

2026-07-20 0 阅读

在移动设备中,蓝牙技术是一种非常实用的短距离无线通信方式。它允许设备之间进行数据传输,如音频、图片、文件等。对于Android开发者来说,掌握蓝牙编程是拓展应用功能的重要技能。本文将带领大家从基础到实战,轻松实现Android设备之间的蓝牙连接与数据传输。

一、蓝牙通信原理

蓝牙通信基于蓝牙规范,使用2.4GHz的ISM频段,采用跳频扩频技术。蓝牙设备分为主设备(Master)和从设备(Slave),主设备负责发起连接和传输数据,从设备则响应连接请求并接收数据。

二、Android蓝牙开发环境搭建

  1. 开发工具:Android Studio是Android开发的主要工具,其中集成了蓝牙开发所需的库和API。
  2. 蓝牙模块:大多数Android设备都内置了蓝牙模块,无需额外购买。
  3. 测试设备:一台支持蓝牙的Android设备用于测试。

三、蓝牙编程基础

1. 蓝牙设备扫描

要实现设备连接,首先需要扫描周围可用的蓝牙设备。以下是一个简单的示例代码:

BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBondedDevices();
for (BluetoothDevice device : pairedDevices) {
    Log.d("Bluetooth", "已配对的设备:" + device.getName());
}

2. 蓝牙设备连接

扫描到设备后,需要建立连接。以下是一个连接到指定设备的示例代码:

BluetoothDevice device = bluetoothAdapter.getRemoteDevice(deviceAddress);
BluetoothSocket socket = device.createRfcommSocketToServiceRecord(BluetoothUUID.SERVICE_UUID);
socket.connect();

3. 数据传输

连接建立后,可以通过Socket进行数据传输。以下是一个发送数据的示例代码:

OutputStream outputStream = socket.getOutputStream();
outputStream.write(data);
outputStream.flush();

接收数据的示例代码:

InputStream inputStream = socket.getInputStream();
byte[] buffer = new byte[1024];
int bytesRead = inputStream.read(buffer);
String receivedData = new String(buffer, 0, bytesRead);
Log.d("Bluetooth", "接收到的数据:" + receivedData);

四、实战案例:蓝牙温度计

以下是一个简单的蓝牙温度计案例,实现手机与温度计之间的数据传输。

  1. 温度计端:使用蓝牙模块采集温度数据,并通过Socket发送到手机。
  2. 手机端:扫描到温度计后连接,接收温度数据并显示。

五、总结

通过本文的学习,相信大家对Android蓝牙编程有了初步的了解。在实际开发中,蓝牙编程涉及到更多细节,如安全认证、数据加密等。希望本文能为大家提供一个良好的入门基础,进一步探索蓝牙编程的奥秘。

分享到: