ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 안드로이드 서비스란?
    Programming/안드로이드 2015. 1. 5. 13:37

    안드로이드 서비스(Services)

    안드로이드 서비스는 U.I 없이 백그라운드에서 실행되는 기능을 말합니다.

    예를들어 네트워크 통신,음악재생,I/O 작업등의 작업등이 해당된다.


    * 서비스 타입

    Started 타입

    이 서비스는 startService() 호출하면 시작됩니다.

    한번 시작되면 백그라운드에서 무기한으로 실행됩니다. 보통은 작업이 완료되면 스스로 종료됩니다.

    예를들어 파일 다운로드, 음악재생 등이 있습니다.

    Bound 타입

    bindService() 호출후에 시작됩니다. 클라이언트와 서버 와 같이 동작합니다.

    액티비티는 서비스에게 어떤 요청을 하고 서비스는 결과값을 반환합니다.

    Bound 서비스는 여러 액티비티와 연결될 수 있습니다.


    * 주의할점

    서비스는 메인 스레드에서 실행됩니다. 만약 서비스가 CPU 자원을 많이 소모하는 작업이라면 서비스안에 스레드를 생성해서

    작업하는게 좋습니다.

    앱이 실행중일때만 필요한 기능이라면 스레드를 사용하는게 맞고 앱이 실행중이지 않을때 실행되어야 한다면 서비스를

    이용해야 한다.


    * manifest 선언

    서비스도 컴포넌트 이기 때문에 manifest에 선언해야 한다.

    <manifest ... >
      ...
     
    <application ... >
         
    <service android:name=".ExampleService" />
          ...
     
    </application>
    </manifest>


    service 예제

    activity_main.xml


    MainActivity.java


    MyService.java


    실행화면




    댓글

Designed by Tistory.