액티비티가 디스플레이 되어지는 화면 단위의 객체라면

서비스는 화면과 관계 없이 Backgroung로 구성되는 객체라고 할 수 있다.

 

서비스를 구현하기 위해 클래스를 생성하고 super class를 Service클래스를 선택한다.

Class myService extends Service{}

액티비티 클래스를 구현한다면 클래스 이름 뒤에 extends Activity라고 쓰는것 처럼.

오버라이드 함수 선택하기 ( 우클릭 -> source -> overide... -> onCreate()선택 )

 

서비스를 구동되는 내용들이 화면에 보여지지 않으므로 구현과정을 Log로 확인해 볼 수 있다.

Log.d 메소드를 이용할것

메소드 작성시 빨간줄이 뜬 경우 ctrl+shift+O 를 이용하여 사용할 메소드를 선택해 준다.

 

onCreate() 클래스 객체를 메모리에 로딩

onDestory() 메모리 상에서 제거

따라서 통상 개념적으로 간단히 생각하면 onCreate()에서 StartService를 구현해주고

onDestory()에서 StopService를 구현한다.

 

ㅇ서비스를 호출하고 종료하기

Intent myIntent = new Intent(getApplicationContext(), myService.class);

StartService(myIntent);

Intent myIntent = new Intent(getApplicationContext(), myService.class);

StopService(myIntent);

 

ㅇ서비스를 별도 서비스로 구동시키기

menifest.xml 파일에 <service>android:process=".remote"</service> 처럼 추가해 주면 별도 프로세스로 등록된다.

액티비티 혹은 어플종료시 별도로 서비스 종료를 해 주지 않을 경우 프로세스는 계속 유지된다.

by wisegirl 2013. 2. 19. 08:52