나는 만들려고하는 안드로이드 앱에서 두 개의 라이브러리를 사용하고 있습니다. 안드로이드 입문. 이 응용 프로그램은 직렬 장치에 연결하고 터미널을 통해 콘솔을 제어하기위한 것입니다.byte를 입력 스트림으로 변경 하시겠습니까?
하나의 라이브러리는 직렬 연결 설정, 전송 속도 설정 및 직렬/직렬 데이터 쓰기가 가능합니다. 다른 하나는 터미널 세션을 만들기위한 것입니다. 내 문제는 직렬 장치에 연결된 터미널을 둘 다 함께 통합하는 데 있습니다.
터미널 라이브러리에서 나는 터미널에 입력과 출력을 제공하기 위해 InputStream
과 OutputStream
을 제공해야합니다. 따라서 setTermIn(java.io.InputStream)
및 setTermOut(java.io.OutputStream)
을 호출하여 입력 및 출력 스트림을 에뮬레이터에 연결해야합니다.
그러나 직렬 라이브러리에는 송수신하는 두 가지 방법이 있으며 바이트 배열을 처리합니다. sendData(byte[] data)
및 데이터 수신을위한 dataListener. 이 구현하고 코드 ID를 장치의 이름을 onDataReceived(int id, byte[] data)
코드해야합니다.
직렬 배열을 통해 바이트 배열을 보내는 소스 코드가 없으므로 터미널에 보낼 바이트 배열을 스트림으로 만들려면 어떻게해야합니까?
편집 :
내가이 그것을 무시한다고 생각하고 내가 원하는 무엇인가? 이 그것을해야
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);
}
'내가 코멘트에서 코드를 포맷하는 방법을 알아낼 수 없습니다 @Blacklight java.io.ByteArrayOutputStream' – SJuan76