마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

service binding 해놓은 service 내에 있는 함수를 activity 내에서 사용하고 싶습니다.

0 추천

리눅스 C 서버와 안드로이드 클라이언트를 이용한 통신 프로그램 구현 중입니다.

엑티비티를 인텐트하면서 통신이 계속 연결되어 있는 문제를 해결하기위해 서비스 바인딩을 사용하였습니다.

아는 것이 없어서 인터넷을 보면서 했는데 버튼 클릭시 서버측으로 데이터 전송하는 부분이 해결되지 않아 질문 올립니다. 

실력이 많이 부족해서 소스를 통한 예로 답해주시면 감사하겠습니다.

 

Logcat과 메인 멕티비티, 서비스 소스 첨부합니다.

 

로그캣을 보면 메인 엑티비티의 onClick() 메소드에서 서비스에 구현되어 있는 함수를 불러오는 과정에서 에러가 발생하는 것 같습니다.

 

메인 엑티비티소스입니다.

메인 엑티비티에는 라디오그룹과 버튼 클릭, 엑티비티 이동에 관련된 부분만 있습니다.

 

서비스부분 소스입니다.

서비스 부분에는 소켓 통신이 구현되어 있습니다.

메인 엑티비티에서 라디오버튼을 통해 얻어진 값에 따라서 getinfo() 함수 내에서 문자열 K 가 정해지고 다시 메인 엑티비티에서 버튼을 클릭하면 onClick() 메소드에서 서비스의 getinfo() 함수를 불러와 서버로 문자열을 전송해 줘야 합니다.

답변 부탁드립니다 .

 

익명사용자 님이 2013년 5월 3일 질문

1개의 답변

0 추천
서비스 함수는 바인딩된 다음에는 그냥 mMyService.getInfo() 와 같이 호출하면 됩니다.

그리고, getInfo() 함수 내의 a, b 도 로컬변수로 정의할 게 아니라 인자값등으로 받아야 할 것 같네요.
매발톱 (1,460 포인트) 님이 2013년 5월 10일 답변
매발톱님이 2013년 5월 10일 수정
감사합니다 다시 해봐야겠어요 !!
...