본문 바로가기
안드로이드(Android)/강좌

[예제] Simple Service 사용예제

by 하센세 2012. 8. 21.

안드로드를 공부하다 보면 가장 처음 배우게 되는것이 Activity 입니다.

Activity는 주로 보이는 View를 포함하고 있는 화면이며 윈도우 프로그램으로 생각하면 window에 해당됩니다.

주로 Foreground로 동작하는데 전화기 화면이 꺼져버리면 프로그램도 잠시 멈추게 됩니다. 

특히, MP3 플레이어의 경우 전화기가 화면 전원이 나가있는 상태에서도 노래를 듣기를 원하는데 그렇게 된다면

백그라운드 프로세스로 계속해서 실행시켜 줘야 합니다.

그 백그라운드에서 실행되는 프로세스가 서비스(Service) 입니다.

너무 간단해서 코드만 싣도록 하겠습니다. 물론 나의 게으름 때문이라고는 말하지 않겠습니다. :->


우선 자바 클래스를 하나 더 생성해 줘야 합니다. 안드로드 프로젝트를 만들게되면 MainActivity파일 하나만 소스코드로 

생성이 될텐데 아래처럼 Service 클래스를 부모 클래스로 가지는 MyService 클래스를 만들어 주세요.

MyService.java


서비스 클래스는 만들고 나면 아래 그램과 같이 Androidmanifest.xml 파일에 노도로 등록을 해야합니다.

하지 않으면 실행과 동시에 "Sorry"를 만나게 되겠죠.


manifest파일에 등록을 하지 않으면 실행과 동시에 "Sorry"를 만나게 됩니다. 이유는 이곳에 노드로 등록하지 않으면 실행에

필요한 객체가 생성되지 않기 때문에 프로그램 실행에 치명적인 문제가 생기는 것이죠.


자. 그럼 다 끝났습니다.

서비스 클래스 자체로 실행은되지 않으니 MainActivity에 서비스를 동작시켜줄 Intent만 넣으면 끝이 납니다.

코드는 다음과 같습니다.






실행결과는 HelloWorld와 똑같고 LogCat를 통해 서비스의 동작 확인이 가능합니다.