[Android] 서비스
programming/android

[Android] 서비스

11. 서비스

 

11.1 서비스

보이지 않는 애플리케이션

화면없이 백그라운드로 실행

Service 클래스를 상속받음

Ex) 음악재생, RSS 확인 등

 

안드로이드 기초 실습 . (n.d.). Retrieved from https://www.slideserve.com/hannah-golden/6076811.

 

11.1.1 서비스의 라이프 사이클

 

11.1.2 서비스 클래스 작성

Service를 extends

onCreate(), onStart() 오버라이딩

Service를 Manifest 에 등록

<service android:enabled="true" android:name=".MyService"></service>

 

11.1.3 서비스 사용

서비스를 사용할 액티비티에서 startActivity() 호출

한번 생성된 서비스를 다시 startService()로 실행할 때는 onCreate()는 실행되지 않고 onStart() 실행됨

서비스가 여러 번 시작되었다 하더라도 종료는 stopService() 한번 호출로 종료

 

 

11.2 브로드캐스트 리시버

시스템의 이벤트를 수신하여 다른 컴포넌트에게 알림

브로드캐스트되는 메시지에 응답(주로 시스템 상태에 관련된 메시지에 반응)

BroadcastReceiver 클래스를 상속받음

사용자게엑 알리기 위해서는 알림화면(Notification, Toast)을 사용

예) 시간대 변경, 환경설정 변경, 파일 다운로드 상태

 

11.2.1 브로드 캐스트 이벤트 종류

시스템관련

시간관련

패키지관련

 

11.2.2 구현 방법

수신할 브로드 캐스트 액션값 설정

BroadcastReceiver 클래스를 확장

public void onReceive(Context context, Intent intent) 구현

 

 

11.3 실습 예제

11.3.1 AndroidManifest.xml

11.3.2 res/layout/activity_main.xml

11.3.3 MainActivity.java

11.3.4 res/layout/alarm.xml

11.3.5 AlarmReceiver.java

11.3.6 AlarmActivity.java

11.3.7 res/layout/filter.xml

11.3.8 TestReceiver.java

11.3.9 FilterActivity.java

11.3.10 res/layout/service.xml

11.3.11 MyService.java

11.3.12 ServiceActivity.java