【发布时间】:2012-12-10 11:04:45
【问题描述】:
我正在尝试制作的 android 应用程序中使用两个库。安卓新手。该应用程序用于连接到串行设备并通过终端控制其控制台。
一个库用于设置串行连接、设置波特率等,还可以通过串行写入读取/数据。另一个用于创建终端会话。我的问题在于将这两者结合在一起以使终端连接到串行设备。
在终端库中,我需要提供InputStream 和OutputStream 来为终端提供输入和输出。所以我必须调用setTermIn(java.io.InputStream) 和setTermOut(java.io.OutputStream) 将输入和输出流连接到模拟器。
然而,在串行库中,有两种发送和接收方法,它们处理字节数组。
sendData(byte[] data) 用于发送数据和一个 dataListener 用于接收数据。我必须实现这一点并编写方法 onDataReceived(int id, byte[] data) ,其中 id 是设备的名称。
我没有通过串行发送字节数组的函数的源代码,那么如何将字节数组变成流以发送到我的终端?
编辑:
我认为这应该覆盖它,这就是我想要的?
Private USB2SerialAdapter mSelectedAdapter;
...
public void sendData(byte[] data)
{
//this should echo what I send to the terminal in the correct format
ByteArrayOutputStream bos = new ByteArrayOutputStream(data.length);
bos.write(data, 0, data.length);
setTermOut(bos);
//send data over serial using original sendData() method
mSelectedAdapter.sendData(data);
}
【问题讨论】:
-
java.io.ByteArrayOutputStream
标签: java android bytearray inputstream libraries