안드로이드 개발 질문/답변
(글 수 45,052)
현재 졸프로 간단한 모바일 게임을 만들고 있는데요. 블루투스를 통한 대전모드를 개발하던중 난감한데 잘 모르겠는 부분이 있어 질문을 올립니다. 현재 블루투스와 관련된 연결과 메시지 전송은 액티비티에 작성되어 있고 게임의 실행 및 진행, 그리고 이를 보여주는 부분은 surfaceview에 작성하고 있는데요. 문제는 게임 진행중 상대방의 정보를 받고 자신의 정보를 보낼수 있는 send()함수는 activity에 선언되어 있습니다. 게임의 진행이 surfaceview에서 진행되는 특성상 surfaceview의 쓰레드에서 게임이 진행되다 일정 조건일때 저 send함수를 통해 메시지를 보내는게 좋을 듯한 상황인데 이게 가능한 방법이 있을까요? 답변 부탁드립니다.




surfaceview에서 Handler 생성하시고
Handler mHandler;
activity에서 surfaceview.mHandler = new Handler() { }
Handler에서 send() 호출하던가 Handler에서 send() 같은 처리를 직접 작성하던가 하는 방법이 있겠네요.
surfaceview 에선 Handler를 호출하면 되겠고요.
아니면 activity 에서 처음 설계상 부합된다면 send() 를 static으로 하는 방법도 있고요.
이 외에도 여러 방법이 있네요.