안드로이드 개발 질문/답변
(글 수 45,052)
수시로 변하는 센서값 x축 y축 z축을 한꺼번에 string으로 합쳐서 tcp ip 전송하려는데..
send 키를 처음 누를때 소켓이 열리고 (소켓 닫는 버튼은 또 따로 있구요...)
thread 안에 while 을 써서 저렇게 하려는데.. 무슨 문제가 있는지...
자꾸 예기치못한 문제로 어플이 안켜지네요...ㅜㅜㅜㅜ
이 부분에 문제가 있는게 아니라면, 다른 부분이 문제인거 같다면 확인하실수 있는 부분도 다시 올려보겟습니다..
**************************************
참고로, 버튼을 누르고 있는동안 thread가 계속 시작되면서 while 구문이 반복되게끔 하려고 했습니다..
**************************************
while 안에서 새로 자꾸 생성하면 안된다고 하시는데..ㅠㅠ
제가 이 분야에 처음이라, 열심히 열심히 여기까지 왔는데, 혼자하기가 더이상 힘든거같습니다..ㅠㅠ
어떻게 고쳐야할까요??? 여러분들의 도움이 진심으로 필요합니다...
혹시라도, 이러한 변하는 센서값을 tcp/ip 통신으로 보내는 방법이나 소스가 있으시면
captinj22@naver.com 으로 알려주시거나, 도움을 주신다면 정말 많은 공부가 될 것 같습니다...
로그캣 보면 빨간부분은 아래와같습니다..




아... 이걸 설명하려니 갈 길이 너무 멉니다. 아무도 답을 안 하는 이유가 있네요.
일단 토스트는 지우시구요 (확인을 위해 띄우신 것 같은데 그냥 로그로 바꾸세요)
TCPclient라는 클래스가 하는 일이 뭔지 모르겠네요.
어쨌든 조언을 드리면 while 문이 0.5초마다 한 바퀴 도는데 이 때마다 객체를 새로 생성하지요? 낭비입니다.
while 문 앞에서 객체 생성하시고 보낼 데이터만 바꾸셔야 합니다.
그리고 위의 소스를 보면 azimuth 등의 데이터가 while 문 앞에 있고 while 문 내에서는 바뀌지 않지요?
그러면 계속 같은 데이터를 보내겠지요?
일반적으로는 소켓 통신하는 클래스 만들어서 객체 생성하고
그 이후에 주기적으로 데이터를 이 클래스한테 보내라고 시킵니다.
지금 상태로는 전체 코드를 다 짜드리는 방법밖에 없는 것 같아서 말로 설명하기가 매우 힘들구요
인터넷에 통신하는 소스코드 많이 있으니까 차근차근 살펴보시기 바랍니다.