0 0

android 蓝牙通讯问题0

现在通过connect方法已经与单片机的蓝牙模块连接的上了,并且通过socket取得了输出输入流。根据下位机(单片机)的规定,android手机必须向下位机发送‘0x11,0x03,0x0C,0x00,0x1E,(byte) 0xC2 字符,下位机若接收得到0x11,0x03,0x0C,0x00,0x1E,(byte) 0xC2字符的话返回16 01 0C DD字符,并自动启动空气质量检测仪。

现在问题是,我发送字节数组后,空气质量检测仪也启动了,但是返回的数组总是不对。
我获取数组的代码是:
/**
* 发送指令并从下位机得到的原始数据
* */
public byte[] getData() {

byte[] data = null;

try {

InputStream in = socket.getInputStream();
data = new byte[in.available()];

in.read(data, 0, data.length);

} catch (IOException e) {

e.printStackTrace();
}

return data;

}

预期是:in.available()返回的是4,但是实际返回的是1。
2014年5月09日 09:53

1个答案 按时间排序 按投票排序

0 0

in.available()返回的不一定是全部可读的字节,所以你最好是采用标准的方法,is.read(),这个返回-1就表示读到头了

2014年5月09日 14:46

相关推荐

    Android蓝牙通讯

    本文将深入探讨Android蓝牙通讯的相关知识点,帮助你理解如何在Android应用中实现蓝牙功能。 首先,我们要知道在Android中进行蓝牙通信涉及的主要类和接口: 1. **BluetoothAdapter**: 这是Android系统中的蓝牙...

    android通过蓝牙进行通讯

    在实现蓝牙通讯前,我们首先要检查设备是否支持蓝牙并确保它是开启状态。这可以通过BluetoothAdapter.getDefaultAdapter()获取默认的蓝牙适配器,并调用isEnabled()方法来检查。如果蓝牙未开启,可以调用enable()...

    android 蓝牙通讯列表 .zip

    "android 蓝牙通讯列表 .zip" 文件很可能是包含一个示例项目或教程,名为 "Bluetooth-master",用于帮助开发者了解如何在Android系统上实现蓝牙功能。下面将详细介绍这个主题中的关键知识点。 1. **蓝牙基本概念**...

    android蓝牙demo实现通讯功能

    在Android平台上,蓝牙通讯功能是通过BluetoothAdapter和BluetoothSocket等类来实现的。这个"android蓝牙demo实现通讯功能"的项目旨在教你如何构建一个能够利用蓝牙进行数据传输的应用。在这个过程中,...

    android蓝牙封装代码

    android蓝牙封装代码

    基于Android的BlueTooth开发手机蓝牙和蓝牙模块通讯

    在Android平台上进行蓝牙开发,主要是利用Android提供的Bluetooth API来实现...通过以上知识点,开发者可以构建一个完整的Android蓝牙通讯应用,实现手机与蓝牙模块之间的数据交换,广泛应用于物联网、智能家居等领域。

    Android蓝牙广播通信

    Android提供了一个名为BluetoothAdapter的类,它是Android蓝牙功能的主要入口点。通过这个类,我们可以检查蓝牙是否开启,扫描附近的蓝牙设备,并建立连接。当我们要监听蓝牙设备的状态变化时,就需要用到广播通信。...

    C#Android蓝牙通信

    【C#与Android之间的蓝牙通信】是移动设备间交互的重要技术之一,特别是在物联网(IoT)和嵌入式系统中广泛应用。本示例是通过C#编写的应用程序与Android设备进行蓝牙连接,实现数据传输,如图片、语音和文字等。这种...

    Android蓝牙通讯,解决报文分段问题

    总结来说,解决Android蓝牙通信中的数据分段问题需要对蓝牙协议有深入的理解,并通过协商更大的MTU、数据包重组、自定义协议和时间控制等手段来优化传输过程。同时,利用动态动画可以提供更好的用户体验,使用户能够...

    android ble 4.0 蓝牙通讯例子

    这个“android ble 4.0 蓝牙通讯例子”是针对Android开发者的一个示例项目,帮助他们理解和实现BLE通信。 首先,我们需要了解Android系统对BLE的支持。从Android 4.3(API级别18)开始,Android官方SDK提供了对BLE...

    android 蓝牙通讯程序

    这个程序涵盖了蓝牙连接、数据发送与接收等核心功能,对于理解Android蓝牙编程是很有帮助的。 首先,我们需要了解Android蓝牙API的基础。在Android中,蓝牙功能主要由`BluetoothAdapter`类提供,它负责管理蓝牙...

    android蓝牙通信(分为客户端,服务端)

    在Android平台上进行蓝牙通信是一项常见的...总的来说,构建Android蓝牙通信系统涉及多个步骤,包括设备发现、连接建立、数据传输和错误处理。通过客户端和服务端的协同工作,可以在Android设备间实现可靠的蓝牙通信。

    Android蓝牙连接配对通讯.zip

    在这个"Android蓝牙连接配对通讯.zip"压缩包中,包含了实现这一功能的apk安装包以及源码,我们可以深入探讨相关的Android蓝牙开发知识。 首先,Android蓝牙API是Android SDK的一部分,主要由`BluetoothAdapter`, `...

    Android蓝牙聊天demo

    **Android蓝牙聊天demo详解** 在Android平台上开发蓝牙通信应用,是一种常见的移动设备间交互的方式,尤其适用于设备间的短距离数据传输。"Android蓝牙聊天demo"就是这样一个实例,它展示了如何在Android设备上实现...

    Android蓝牙串口通讯下载直接能用

    "Android蓝牙串口通讯下载直接能用"这个标题暗示了一个可以直接应用于项目的Android蓝牙串口通信库或者示例代码。描述中提到,这个库不仅适用于与单片机进行通讯,还兼容Arduino这样的开源硬件平台,这拓宽了其应用...

    Android蓝牙串口通讯(基于service)

    下面将详细阐述Android蓝牙通信的基本概念、Service的使用以及如何实现蓝牙串口通信。 首先,我们需要了解Android的蓝牙API。Android提供了BluetoothAdapter类来管理蓝牙功能,包括检测设备、配对、连接和断开连接...

    android 蓝牙串口通讯

    在Android平台上,蓝牙串口通信是一种常见的数据传输方式,它允许设备之间通过蓝牙技术进行串行数据交换。...通过"BlueToothTest"项目,你将有机会亲身体验这一过程,从而提升你的Android蓝牙编程技能。

    arduino与Android蓝牙通讯文档内含代码

    ### Android蓝牙通讯的难点 文档指出,对于不熟悉蓝牙过程的开发者来说,使用Android的蓝牙API可能会有些困难。因此,文档的目的是为了解释如何使用可用的蓝牙工具来从另一个设备无线发送和接收数据。蓝牙通讯涉及的...

    安卓wifi蓝牙相关-Android蓝牙2.0串口通信代码自动搜索自动连接.rar

    1. **Android蓝牙API**: Android提供了BluetoothAdapter类来管理设备的蓝牙功能,包括开启/关闭蓝牙、查找附近的蓝牙设备、建立连接等。BluetoothGatt类则用于与蓝牙低功耗(BLE)设备交互,但这里提到的是蓝牙2.0...

    Android应用源码蓝牙串口搜索配对连接通讯.zip

    总的来说,这个源码包为学习和开发Android蓝牙应用提供了实践案例,涵盖了蓝牙搜索、配对、连接和数据传输的关键步骤。开发者可以通过研究这些代码,理解Android蓝牙通信的实现原理,并将其应用于自己的项目中。

Global site tag (gtag.js) - Google Analytics