Android

Android - App. apk 구성 요소 - (Activity, Service, Contents Provider, Broadcast receiver)

TechNote.kr 2015. 12. 30. 00:31
728x90

Java를 이용해서 Android app을 만들어 본 적은 있었지만 

만들었다기 보다 인터넷에 돌아다니는 코드들을 내가 원하는 형태로 조합해서 엮어놓았다고나 할까.


전반적인 Android app에 대한 이해가 부족하여서 인지 간단한 프로그램은 작성이 가능했어도

조금만 어려워지면 헤매는 시간이 많아졌다.


developer.android를 보면서 정리를 좀 해 보았다.


App. apk 기본 구성 요소


Android app에는 4가지 기본 구성 요소가 존재한다.

Activity, Service, Contents Provider, Broadcast receiver


Activity

-. 사용자 인터페이스가 있는 하나의 화면을 의미. Activity Class를 상속해서 구현.


Service

-. Background에서 동작/실행되는 구성 요소. 사용자 인터페이스는 제공하지 않는다.

  Activity 에서 Service를 실행, 혹은 Activity 에서 Service를 binding 해서 호출하게 된다.

  Service Class를 상속해서 구현.


Contents Provider

-. App data 집합을 관리

   여기서 의미하는 data는 파일시스템의 파일, SQLite의 database, Web, 기타 저장소 등 

   App이 access할 수 있는 곳이라면 어디든 저장됨. 

   접근 가능한 permission이 있다면 다른 App에서도 접근이 가능하다.

   ContentProvider Class를 상속해서 구현.


Broadcast receiver

-. 시스템 전체에 대한 broadcast에 응답하는 구성 요소.

   App, System에서 intent를 날리게 되면 Broadcast receiver가 받아서 처리하게 된다.

   예를 들어, 사진 캡쳐등이 발생해서 intent가 날아가게 되면 해당 intent 처리가 필요한 앱에서 이를 받아 원하는 동작을 구동하게 된다.

   BroadcastReceiver Class를 상속해서 구현.




각 기본 구성 요소를 시작하는 방법


Activity, Service, Broadcast receiver는 Intent를 argument로 넘겨서 활성화.

-. Activity -> startActivity(), startActivityForResult()

-. Service -> startService(), bindService()

-. Broadcast receiver -> sendBroadcast(), sendOrderedBroadcast(), sendStickyBroadcast()


Contents Provider는 ContentResolver로 부터 요청받으면 활성화.

-. query() on a ContentResolver




AndroidManifest.xml


용도 : App의 구성요소에 대한 정의, 권한 정의, 지원하는 최소 API 정의, 필요한 HW, SW 기능 선언, Library 링크 선언

위치 : App 프로젝트 디렉토리의 최상위에 존재.

728x90