본문 바로가기
개발 log (개발)/mobile

'위치기반 앱' 구현을 위한 서비스 #1

by abbear25 2016. 10. 27.

서비스 종류

서비스

액티비티가 종료되어도 수행할 작업이 있는 경우 사용

하나의 서비스에는 다수의 액티비티 연결가능

manifest에 선언 필요

<service android:enabled="true" android:name=".서비스명"/>

*enabled true값을 주면 자동으로 서비스가 실행


시작 타입 서비스

액티비티에서 한 번 실행되면 백그라운드에서 무한정 실행되는 서비스

네트워크 파일을 다운로드하는 기능 등에 사용


연결 타입 서비스

액티비티와 연결되어 상호작용하는 서비스(연결된 동안만 실행)

요청에대한 결과를 받거나 프로세스 간의 통신이 필요한 경우 사용



시작 타입 서비스에 대해서


Service

모든 서비스의 부모 클래스

서비스 작업 시간이 길 경우, 내부에 새로운 스레드를 생성하여 작업 수행

*서비스가 메인 스레드를 사용하는 경우가 발생하게 됨으로


IntentService

시작 요청이 들어올 때 마다 처리하는 작업 스레드를 별도로 생성

다운로드 같은 다중 요청을 동시에 처리할 필요가 없을 때 주로 사용

*callback에 대한 디폴트 구현 제공

onHandleIntent()에 클라이언트 요청 작업 작성

요청 처리 후 서비스가 자동적으로 중단


연결 타입 서비스에 대해서

adress


반응형