[220323] 코드리뷰_EndBtn_Service

J·2022년 3월 23일
1

안드로이드

목록 보기
6/29
  • onBind() :
    ① 서비스 바인딩이란(Service Bind) : startService() 메소드 대신 bindService() 메소드를 통해서 시작되는 서비스를 서비스 바인딩(Service Bind 혹은 Bound Bind) 라고 합니다.
    이 서비스는 마치 클라이언트-서버처럼 동작합니다. 서비스가 서버역할을 합니다.
    액티비티는 서비스에 어떠한 요청을 할 수 있고, 서비스로부터 어떠한 결과를 받을 수 있습니다.
    프로세스 간 통신에도 사용됩니다.
    서비스 바인딩은 연결된 액티비티가 사라지면 서비스도 소멸됩니다. (즉, 백그라운드에서 무한히 실행되진 않습니다.)
    하나의 서비스에 다수의 액티비티 연결 가능합니다.
    애플리케이션 안의 기능을 외부에 제공하는 경우에 많이 사용합니다.

  • 서비스바인딩 구현&동작 :
    서비스 바인딩 객체를 생성하려면 콜백 메소드인 onBind()를 구현해야 합니다.
    onBind()는 IBinder를 반환하는데, 바로 이 객체가 '서비스'와 '클리언트' 사이의 인터페이스 역할을 합니다.
    클라리언트가 bindService()를 호출하면, 클라이언트가 서비스에 연결되면서 IBinder가 반환되고, 클라이언트가 IBinder를 받으면 이 인터페이스를 통해 주고 받는 것이 가능해지는 겁니다.
    서비스가 제공하는 다른 메소드 호출 가능.
    여러 클라이언트가 하나의 서비스에 동시 접속이 가능하며,
    클라이언트가 서비스와의 접속을 마치려면 unbindService()를 호출합니다.
    서비스에 연결된 클라이언트가 하나도 남아있지 않으면 서비스를 소멸시킵니다.

  • BoundService 흐름도 :

  • Gravity:
    잠재적으로 더 큰 컨테이너 안에 개체를 배치하기 위한 표준 상수 및 도구입니다.

  • WRAP_CONTENT : 뷰에 들어있는 내용물의 크기에 자동으로 크기가 맞춰짐.

  • MATCH_CONTENT : 뷰그룹의 여유 공간을 꽉 채워줌.

  • TRANSLUCENT : 반투명.

  • FLAG_NOT_FOCUSABLE : 윈도우가 포커스를 받지 못한다.

  • MotionEvent : 터치와 관련된 상수들이 정의된 클래스.
    ① ACTION_MASK : 기존의 액션값과 조합의 액션값에 따른 로직을 생성.
    ② ACTION_DOWN : 처음 눌렀을 때
    ③ ACTION_MOVE : 누르고 움직였을 때
    ④ ACTION_UP : 누른 걸 땠을 때

  • removeView() : FrameLayout에서 뷰(View)를 삭제하는 함수

  • event.getRawX() : 절대 X좌표 값을 가져온다.

  • event.getRawY() : 절대 Y좌표 값을 가져온다.

0개의 댓글