출처 : 안드로이드 공식문서 https://developer.android.com/docs?hl=ko ,
https://juyoung-1008.tistory.com/34
Activity / Service / Broad Cast / Content Provider
Activity (액티비티)
화면의 UI 화면을 담당하는 컴포넌트
안드로이드 앱은 반드시 하나의 액티비티를 가져야한다.
각 액티비티는 메니페스트 파일에 등록 되어야한다.
액티비티는 하나 이상의 view를 가질 수 있다.
옛날에 만들었던 프로젝트 파일 구조.
MainActivity.java + activity_main (view) 가 짝을 이루고있다.Service (서비스)
- 백그라운드에서 실행되는 컴포넌트
- UI를 가지고 있지 않음
- 한번 시작된 서비스는 앱이 종료되도 백그라운드에서 실행된다.
- 네트워크를 통해 데이터를 받아올 수도 있다.
출처 : https://bitsoul.tistory.com/147-> 서비스를 이용한 프로그래밍. [extends Service]
Broadcast Receiver (방송 수신자)
- 안드로이드 단말기에서 발생하는 다양한 이벤트 정보를 받고 반응
- 단말기에서 발생하는 일 중에서 앱이 알아야 하는 상황이 발생하면 방송을 해준다.
-> [extends BroadcastReceiver]
Content Provider (컨텐트 제공자)
- 데이터를 관리하고, 다른 앱의 데이터를 제공한다.
- 데이터는 파일 시스템이나 SQLite 데이터베이스, 웹 상에 저장 가능
- Content Provider를 통해서 다른 앱의 데이터를 쿼리하거나 변경 가능
- 컴포넌트 간에 작업 수행을 위한 정보를 전달하는 역할
- 예를들어, 액티비티 간에 화면 전환을 할 때 많이 사용됨
-> 버튼을 클릭하면 LabActivity 로 넘어가는 함수 onClick()
- 4대 컴포넌트는 아니지만 매우 자주 활용되고, 중요함
- 최근 앱 트렌드인 네비게이션 바를 구현하는데 핵심 요소
- 하나의 액티비티가 여러 개의 화면을 가지도록 하기위해 고안된 개념
학교 플젝에서 구현했던 네비게이션 바.
Fragment를 활용하고있다.