해보자고

안드로이드 구성 요소 본문

모의해킹/안드로이드 앱

안드로이드 구성 요소

초코맛동산 2024. 4. 21. 20:07

 

 

1. Activity

사용자에게 보여지는 디바이스의 인터페이스 즉, 화면으로 반드시 하나 이상의 액티비티를 포함한다. 

다른 액티비티로의 전환이 일어나더라도 이전의 액티비티는 다른 공간에 저장되어 멈춤 상태에 있다. (그렇기에 이전으로 되돌아가도 이전 액티비티가 보이는 것.)

  • onResume() : activity가 다시 호출될 때의 호출 
  • onStop() : 화면 전부가 보이지 않을 때 호출 (onPause()는 화면 일부가 보이지 않을 때 호출

+) 이외의 Activity 클래스는 6개의 *콜백을 제공  

 

*콜백: 다른 코드의 인수로서 넘겨주는 실행 가능한 코드. 즉 어떠한 이벤트로 인해 호출되는 함수. 

 

 

2. Service

백그라운드에서 실행되는 컴포넌트. 보통 사용자 인터페이스 제공X

 

  • foreground: 사용자가 인지할 수 있는 몇 가지 작업을 실행하며 알림을 표시한다. 
ex. 오디오 트랙 재생, 음성 녹음

 

  • background: 사용자가 인지할 수 없는 작업을 실행 
ex. 자동 앱 압축

 

  • bound: 애플리케이션 구성요소가 bindService()를 호출하여 서비스에 바인딩 될 때의 서비스
ex. 클라이언트-서버 인터페이스 제공 (예시 : 서비스 - 노래 재생 / 액티비티 - 노래 재생 화면 일 때,  액티비티는 서비스와 바인드되어 있으며, 바운드 서비스를 통해 해당 요청을 전달하고 노래를 재생)

 

 

3. Contents Provider

각 어플리케이션 사이에서 데이터를 공유하기 위한 인터페이스한 프로세스의 데이터를 다른 프로세스에서 실행 중인 코드와 연결하는 표준 인터페이스이다. 

 

안드로이드의 각 애플리케이션은 샌드박스에서 동작하여(격리된 환경에서) 보통 다른 애플리케이션들의 데이터 접근은 격리된다. (컴포넌트들이 다 격리되어있다.) 그러나 콘텐츠 프로바이더를 사용하여 데이터 관리 및 공유를 용이하게 만든다. 특히 작은 데이터들은 인텐트로 애플리케이션상 공유되고, 큰 데이터들을 공유하는데 콘텐츠 프로바이더가 적합하다.  

 

콘텐츠 프로바이더는 CRUD(Create, Read, Update, Delete) 원칙을 준수한다.  

 

 

4. BroadCast Receiver   

다양한 시스템 이벤트가 발생할 때 시스템은 자동으로 브로드캐스트를 전송하고, 실시간으로 시스템의 상태를 확인하여 이벤트가 발생했을 때 응답한다. 또한 디바이스에 의해 발생하는 노티피케이션 등을 이용하여 사용자에게 알람을 발생한다. 

 

 


# 출처

 

activity lifecycle: 

https://developer.android.com/guide/components/activities/activity-lifecycle

 

활동 수명 주기  |  Android 개발자  |  Android Developers

활동은 사용자가 전화 걸기, 사진 찍기, 이메일 보내기 또는 지도 보기와 같은 작업을 하기 위해 상호작용할 수 있는 화면을 제공하는 애플리케이션 구성요소입니다. 각 활동에는 사용자 인터페

developer.android.com

contents provider:

https://developer.android.com/guide/topics/providers/content-providers?hl=ko&_gl=1*1rjs31*_up*MQ..*_ga*MTAzMzIxNzkxNS4xNzEzNjk5MzY1*_ga_6HH9YJMN9M*MTcxMzY5OTM2NC4xLjAuMTcxMzY5OTM2NC4wLjAuMA..

 

콘텐츠 제공자  |  Android 개발자  |  Android Developers

콘텐츠 제공자는 구조화된 데이터 세트의 액세스를 관리합니다. 데이터를 캡슐화하고, 데이터 보안을 정의하는 데 필요한 메커니즘을 제공합니다. 콘텐츠 제공자는 한 프로세스의 데이터를 다

developer.android.com

 

'모의해킹 > 안드로이드 앱' 카테고리의 다른 글

ADB - bugreport, jdwp  (0) 2024.05.28
ADB - logcat을 이용한 로그 분석  (0) 2024.05.28
ADB - Android Debug Bridge  (0) 2024.05.26
안전하지 않은 SD카드 저장  (0) 2024.04.21
안드로이드 아키텍처  (0) 2024.04.14