티스토리 뷰

반응형

애플리케이션 4대 컴포넌트

- 각 컴포넌트는 고유한 기능을 가지고 있음.

- 각 컴포넌트는 Intent를 이용하여 메시지 전달가능.

- 각 컴포넌트는 독립적으로 실행이 가능함. ( 즉, 특정 컴포넌트를 실행하기 위해 사전에 실행되어야 하는 컴포넌트가 없다는 것 -> Activity : startActivity ... , Service : startService ... , BroadcastReceiver : sendBroadcast )

 

 

컴포넌트 기능 구조

 

컴포넌트는 Intent를 이용하여 데이터 전달

1. Activity 

- 사용자와 인터페이스가 가능한 Window를 하나 가지고 있는 컴포넌트

- 액티비티 구동 시, Window를 하나 생성하고, Window를 통해 사용자에게 보여주고 싶은 View를 보여줌

- 생성된 액티비티들은 스택으로 관리됨

- 액티비티 구동 요청을 받을 때마다, 새로운 인스턴스를 생성하여 구동됨 ( 기본적으로는... launchMode에 따라 달라)

- 액티비티가 시작되면 일반적으로 화면에 배치할 Layout을 설정 (setContentView를 통해 보여질 Layout를 설정)

 

2. Service 

- 사용자와의 인터페이스 없이 돌아가는 컴포넌트 

- 서비스의 인스턴스는 안드로이드내에서 오직 1개만 만들어짐. 서비스를 요청할 때, 이미 구동중인 서비스가 있다면, 기존 서비스에 요청을 처리하도록 하는 방식. 

- Service 구동은 startService, bindService를 이용하여 구동시킴. bindService는 Service의 일부 기능을 타 앱이 구동시킬 수 있도록 할 수 있음

 

3. Broadcast Receiver

- 기기나 다른 애플리케이션에서 발생하는 이벤트를 받아들이는 컴포넌트 

- sendBroadcast를 이용해 이벤트(Intent)를 송신하면, receiver에 전달됨

- receiver는 일반적으로 이벤트를 수신하면 서비스를 구동하거나, 이벤트가 발생했음을 사용자에게 알림

* 이벤트 : 기기의 부팅, 화면 꺼짐, SMS 도착 등

 

4. Content Provider

- Provider는 앱이 가지고 있는 데이터를 다른 앱에서 접근할 수 있도록 만들어주는 컴포넌트

(일반적으로 자신의 앱에서 사용하는 데이터는 자신의 앱만 접근이 가능하나, 공유해야 하는 데이터의 경우 이를 Provider를 통해서 데이터 공유가 가능함)

- Uri를 이용하여 접근 

- Read & Write 에 대해 각각 Permission을 설정하여, 허가된 앱만  접근이 가능하도록 처리 

- Provider는 getType, query, insert, update, delete, onCreate 를 구현해줘야 함

 

참조 : https://www.youtube.com/watch?v=O3t_esHOsTk (Android Application 프로그래밍 초급 24강 애플리케이션 컴포넌트 | T 아카데미 )

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함