일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 웃긴 파이썬
- adb
- 리버싱 플래그
- 제주코딩베이스캠프
- 티스토리챌린지
- 인프런 파이썬 강의
- 인프런 깃허브 강의
- 자바스크립트
- 안드로이드 adb start-server
- 드림핵 플래그
- 자바스크립트 강의
- 파이썬
- 깃허브 블로그
- 안드로이드 모바일 앱 모의해킹
- 강의 체험단 1기
- 안드로이드 리버싱
- 더오름
- 오블완
- 드림핵 리버싱
- 간단한 깃허브 블로그
- 인프런 강의 추천
- 깃허브 포트폴리오
- dreamhack reversing
- 위니브
- 안드로이드 adb
- 깃허브 블로그 만들기
- 제주ICT
- 잔디 심기
- adb 옵션
- 리버싱
- Today
- Total
해보자고
안드로이드 구성 요소 본문
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:
콘텐츠 제공자 | 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 |