通过USB串行总线将Arduino ADC数据发送到Android平板电脑

通过USB串行总线将Arduino ADC数据发送到Android平板电脑,android,arduino,usb,Android,Arduino,Usb,我正在尝试使用USB串行通信将Arduino ADC数据发送到android平板电脑。我正在arduino端使用Serial.println()。我的问题是我无法解码android端接收到的数据。 例如,假设我从arduino发送Serial.println(768),我检查我的android接收缓冲区,它显示(55,54,56,13,10) 如何将此数据解码回768值?查看 55,54,56,13,10 代表 "768\n\r" 大多数编程语言通过其字符串库提供字节值和字符/字符串之间的转

我正在尝试使用USB串行通信将Arduino ADC数据发送到android平板电脑。我正在arduino端使用
Serial.println()
。我的问题是我无法解码android端接收到的数据。
例如,假设我从arduino发送
Serial.println(768)
,我检查我的android接收缓冲区,它显示(55,54,56,13,10)

如何将此数据解码回768值?

查看

55,54,56,13,10
代表

"768\n\r"
大多数编程语言通过其字符串库提供字节值和字符/字符串之间的转换方法。因此,您不必自己实现解码

或者您在网上找到的“字节到字符串的Android”

string rawdata=“”; 字符串finaldata=“”; UsbSerialInterface.UsbReadCallback mCallback=新的UsbSerialInterface.UsbReadCallback(){//定义一个回调,该回调在读取数据时触发。 @凌驾 接收数据时的公共无效(字节[]arg0){

byte[]buffer=arg0;

对于(i=0;我可能重复感谢您的回复。您提供的链接确实帮助我解决了我的问题。在发布我的问题后,我已经找到了解码部分。实际上,.getbytes方法也在字符串中添加了新的CR&LN,但我想省略这些字节,只对数字部分感兴趣
        byte[] buffer = arg0;
        for (i =0;i <=(buffer.length-1);i++) {
         if(buffer[i]!= 13) {
             if(buffer[i]== 10){
                 finaldata = rawdata;
                 rawdata = "";
             }else {
                 chdata = (char) buffer[i];
                 rawdata += chdata;
             }
         }

      }

            data = Integer.parseInt(finaldata);