我正在开发一个 android 应用程序,我想通过手机端口读取串行数据(我使用 OGT 电缆)。为此,我一直在使用以下库
https://github.com/mik3y/usb-serial-for-android
库会将串行数据读取为字节数组,我想将其读取为 0-255 之间的整数值。这样做的原因是,我一直在“java.io.InputStream”中使用 Inputstream 的“read()”方法。这里 read 方法将返回一个 int evenn,尽管它将它们作为字节读取。
现在我正在尝试将此代码移植到 android 应用程序,但我找不到从串行输入中读取整数的方法。
我尝试使用以下代码将字节转换为 int
ByteBuffer wrapped = ByteBuffer.wrap(arr); // big-endian by default
short num = wrapped.getShort(); // 1
其中“arr”是从串行输入读取的字节数组。但这使应用程序在两者之间崩溃,并且数字不在 0-255 之间。
我无法更改我对“0-255 之间的整数值”的要求,因为在使用 Java 的 pc 中有一个基于此逻辑的整个项目。
有什么建议可以解决这个问题吗?