안드로이드로 블루투스 소켓 통신을 하고 있습니다.
대충 샘플들 모아서 돌려보고 수정하고 하는 도중에 막혀서 질문드립니다.
MainActivity (액티비티)
BlueToothService (서비스)
2개의 클래스가 있고
BlueToothService에서
Socket과 InputStream, OutputStream을 연결했고 sendData 함수를 만들어서 데이터를 전송하려고 했습니다.
문제는 MainActivity에서 SendData를 실행하기 위해서 MainActivity에
BlueToothService mBlueToothService = new BlueToothService()를 선언하고
mBlueToothService.sendData(String msg)를 실행하면
sendData의 mOutputStream.write(msg)에서 mOutputStream이 Null이기 때문에 에러가 발생합니다.
Null이 되어 에러가 뜨는건 당연한데 해결 방법을 잘 모르겠습니다.
프로그램 구조가 잘못되었거나
BlueToothService에서 MainActivity로 OutputStream의 값을 전송해서 mBlueToothService의 OutputStream을 입력해주는 방법을 생각해보았습니다만 잘 모르겠습니다.
어떠한 방식으로 해결해야 할까요?