본문 바로가기

개발자/Android

안드로이드개발 서비스 (백그라운드 작업) /알람,카카오톡,페이스북 등등

반응형

안드로이드 서비스에 대해 알아보겠습니다.


서비스는 어플리케이션이 종료되어도 다시 실행이 되도록 개발자가 만들어 놓은 기능입니다.


예를들어 카카오톡과 같은 경우


카카오톡 애플리케이션을 종료하여도


상대방이 메세지를 보내게되면 자동으로 알림말이 뜨게 되죠


알람, 페이스북 기타등등 많은 어플리케이션이 이러한 동작을 하게되죠


이러한 서비스 원리때문에 휴대폰에 많은 어플리케이션들이 깔려있게되면 


자연적으로 메모리를 많이 차지하게되고, 느려지는 원인이 되기도 하죠.



자! 그렇다면 서비스 기능을 어떻게 추가시키는지 알아보겠습니다.





먼저, Java소스에 Service를 추가시킵니다.


이름은 MyService로 설정을 하구요



서비스를 추가하게되면


자동적으로 Mainfest에 Service가 추가된것을 확인할 수 있죠





그런다음, MyService.java에서 프로그램이 동작되고 중지되는 작업을 확인해 봅시다.


저번시간에 추가시켜보았던 OnCreate와 OnDestroy를 추가시키고


OnStartCommends도 추가시켜줍시다.


추가하는 방법은 hso9201.tistory.com/349


에서 확인하세요


추가한 다음, Logcat을 이용해 동작되는 상황을 파악해봅시다.


Logcat은 앞으로 어플리케이션을 개발하면서 매우많이 사용될테니 알아두셔야겠죠!


Log.d를 하게되면 디버깅메세지를 나타낼 수 있죠



그런다음 버튼하나를 생성해 주고, 클릭되었을 시 서비스가 시작되도록 만들어 봅시다.



실행은 저번에 배웠던 Intent를 이용해서 하면 되겠죠


그리고, Toast메세지도 간단하게 출력해줍시다.



SERVICE START를 클릭!


서비스가 시작되는 메세지가 출력되었죠


시작이 되면 Log.d에 의해 로그기록이 저장됩니다.


Android Device Monitor을 이용해서 실시간으로 체크해봅시다.








com.android.han.h0124가 방금 만든 어플리케이션입니다.


어플리케이션을 구분할때는 패키지 네임으로 구분을 하죠


어플을 Stop하여 중지시키게 되면


자동적으로 Service가 등록되어 있어 실행이 되는 것을 확인할 수 있습니다.


이러한 방법으로 어플리케이션을 실행시키지 않아도 자동으로 등록이 되는 


안드로이드 서비스에대해 알아보았습니다.

반응형