컴포넌트 (Component) 종류
안드로이드는 4가지의 컴포넌트, 즉 액티비티(Activity), 서비스(Service), 브로드 캐스터(BroadCast Receiver), 콘텐츠 제공자(Content Provider)가 있다. 각각의 컴포넌트는 고유의 기능을 가지고 있고, 인텐트를 통해 서로 상호작용을 할 수 있다.
안드로이드 컴포넌트
1. 액티비티(Activity)
액티비티는 사용자가 앱과 상호작용하는 하나의 화면을 의미하며 사용자에게 드러나는 화면을 의미한다.
사용자와 상호작용을 담당하는 인터페이스이기 때문에 적어도 반드시 하나 이상의 액티비티를 포함하고 있어야 한다.
컴포넌트끼리는 인텐트를 통해 상호작용하기 때문에, 인텐트를 통해 다른 액티비티를 호출할 수 있다. 또한 하나 이상의 View 또는 ViewGroup을 포함하고 있어야 한다. 액티비티 내에 프래그먼트(Fragment)를 추가하여 화면을 분할시킬 수 있다.
이것은 백그라운드에서 어떠한 작업을 처리하기 위해서 사용하는데, 애플리케이션을 사용하면서 파일을 다운로드할 때 서비스를 사용한다.
서비스는 눈에 보이지 않는다고 다른 스레드에서 동작한다고 생각하지만 사실은 메인 스레드에서 동작한다. 따라서 서비스 내에서 별도의 스레드를 생성하여 작업을 처리하여야 한다.
네트워크와 연동이 가능하고, 애플리케이션이 종료되어도 이미 시작된 서비스는 계속 동작한다.
브로드 캐스터는 사용자 인터페이스를 표시하지 않지만, 상태 표시줄 알림을 생성하여 사용자에게 이벤트가 발생했다고 알릴 수 있다.
구성 요소 활성화 : 인텐트(Intent)
구성 요소 중 콘텐츠 제공자를 제외한 액티비티, 서비스, 브로드캐스터는 인텐트라는 비동기식 메시지로 활성화된다.
인텐트는 런타임에서 각 구성 요소를 바인딩한다. 서로 독립적으로 동작하는 4대 컴포넌트 간의 상호 통신을 위한 장치이다. 컴포넌트에 액션이나 데이터를 전달한다. 이것을 통해 다른 앱의 컴포넌트를 활성화시킬 수 있다.
객체지향 프로그래밍(Object Oriented Programming)