안드로이드 4대 컴포넌트 및 intent 에 대한 이해

2021. 2. 15. 23:03코딩강좌/안드로이드

  1. 액티비티(Activity)

  2. 서비스(Service) 예제:https://bitsoul.tistory.com/147

  3. 방송수신자(Broadcast Receiver)

  4. 콘텐츠 제공자(Contents Provider)

 

예제: 서비스구현

기본적인 순서.

  1. 사용할 service(.java)를 만든다.

  2. manifest.xml에 service등록한다.

  3. service를 시작하도록 호출.

 






인텐트(Intent)란?

인텐트는 컴포넌트(액티비티, 서비스, 브로드캐스트 리시버)간에 통신을 하기 위한 메시지 객체 입니다.

Intent를 사용하는 방법은 여러가지가 있지만 일반적으로 3가지입니다.

  • 액티비티의 시작: startActivity(Intent), startActivityForResult(Intent, requestCode)

  • 서비스의 시작: startService(Intent), bindService(Intent)

  • 브로드케스트 전달: sendBroadcast(Intent), sendOrderedBroadcast(Intent), sendStickyBroadcast()

인텐트 유형

  • 명시적 인텐트(Explicit Intent) : 시작할 컴포넌트 이름을 지정합니다. (예: new Intent(context, 클래스이름) 또는 Intent.setClass(context, 클래스이름) 등) 일반적으로 본인이 만든 컴포넌트를 실행할 때 씁니다.

  • 암시적 인텐트(Implicit Intent) : 특정 컴포넌트의 클래스명 없이 어떠한 작업을 수행할것인지만 선언합니다. 해당 인텐트를 처리할 수 있는 컴포넌트를 시스템이 필터링하여 수행하거나 사용자에게 선택하도록 합니다.



Activity의 호출 순서

onCreate() -> onStart() -> onResume()

보통 onCreate()에서는 실행시 필요한 초기화 작업코드.

보통 onStart()에서는 리스너 등록코드.

보통 onResume()에서는 activity에서 사용자에게 보여질 데이터 가져오는코드.



MainActivity.java

onCreate()를 통해 각 Button handle 설정, mOnlineUpdateBtn = (Button) fin