作成しようとしているAndroidアプリで2つのライブラリを使用しています。アンドロイドは初めてです。このアプリは、シリアルデバイスに接続し、端末を介してコンソールを制御するためのものです。
1つのライブラリは、シリアル接続の設定、ボーレートの設定などのためのものであり、シリアルを介して読み取り/データを書き込むこともできます。もう1つは、ターミナルセッションを作成するためのものです。私の問題は、これらの両方を組み合わせて、シリアルデバイスに接続された端末を作成することにあります。
ターミナルライブラリでは、ターミナルに入力と出力を提供するためにInputStream
とを提供する必要があります。そのため、入力ストリームと出力ストリームをOutputStream
呼び出しsetTermIn(java.io.InputStream)
てエミュレータに接続する必要があります。setTermOut(java.io.OutputStream)
ただし、シリアルライブラリには、送信と受信の2つの方法があり、これらはバイトの配列を処理します。
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);
}