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

service 구현 질문 드립니다.

0 추천
현제 타이머를 구현하려하고 있습니다.

일반 thread로 구현을 하였는데 화면이 꺼질때 작동하지 않는다는 것을 깨닫게 되었습니다.

그래서 service로 구현해야 한다는 것까지 알게되어 검색하다가 service로 노래 재생 소스를 얻었습니다.

 

이 두개를 잘 조합해서 타이머를 만들어야하는데 service에서 xml 화면을 바로 불러와서 할수 있는게 아니라 background에서 작동하기때문에 service는 단지 호출로만 해야 한다고 하는데

 

여기서 질문 드리고 싶은것은 service에서 thread를 구현하였다고 한다면 1초가 흐를때마다 TextView를 수정해서 숫자를 줄여나가야 하는데 service와 TextView (XML) 을 어떻게 연결해야 하나요? 도움 부탁드립니다.
kmg123 (1,080 포인트) 님이 2014년 2월 6일 질문

2개의 답변

0 추천
 
채택된 답변
아주 간단하게 하시려면 그냥 Timer, TimerTask로 하셔도 될 거 같은데요.. 단순히 TextView 하나 글자 백그라운드로 변경하는 것인데.. Service까지 호출하고, 하는건 좀 오바같습니다.

Timer를 사용하면 1초마다 스케쥴링된 TimerTask가 실행되게끔 구성이 가능하고 이또한 UI Thread가 아니므로 TextView의 글자변경에 관한 부분은 runOnUiThread(new Runnable()) 등을 활용하여 구성하셔야 할겁니다.
dante2k (8,390 포인트) 님이 2014년 2월 7일 답변
kmg123님이 2014년 11월 27일 채택됨
Timer , TimerTask 로 구현하게되면 안드로이드가 잠들때? 도 돌아가나요?? 제가 구현하려는것이 타이머다보니 cpu가 잠들었다해서 안돌아가면 안되거든요.. 찾아보니 Timer도 안드로이드가 잠들면 안돌아간다고 있는거 같은데 혹시 제가 잘못 찾은건가요..?
CPU가 잠들었다는건, 프로그램이 백그라운드로 내려간 것을 의미하시는 것이겠죠? 또는 화면이 꺼졌다거나, 해당 프로그램의 액티비티가 활성화되지 않은 상태.

이런 상황에서도 어떤 값을 주기적으로 체크하고 반영해야 한다면 Service밖에 없습니다.

Service, BroadcastReceiver 요 두가지가 서비스와 액티비티간의 정보를 주고 받을 수 있는 솔루션을 재공하도록 할 수 있습니다.
0 추천
aucd29 (218,390 포인트) 님이 2014년 2월 6일 답변
죄송한데 제가 무지하여 이해가 쉽지가 않네요..
원격이라는 말이있고 하던데 저는 원격까지 원하는 것이 아니고 그냥
Service 에서 TextView의 상태를 변경하는 법을 알고 싶습니다..

조금만 더 도와주실수 있으신가요..?
...