생명주기 Life Cycle 액티비티가 생성되어 소멸하기까지의 과정 onCreate() - 전체 수명주기 동안 한번만 발생해야 하는 기본 애플리케이션 시작 로직 실행 (초기화, viewModel 연결 등) - savedInstanceState 매개변수를 수신하는 단계 onStart() - 이 시점부터 사용자가 Activity를 볼 수 있음 onResume() - 앱이 사용자와 상호작용하는 단계. 어떤 이벤트가 발생하여 앱에서 포커스가 떠날 때까지 앱이 이 상태에 머무름 - 활동이 onPause()에서 onResume() 상태로 돌아오면 시스템이 onResume() 메소드를 다시 한 번 호출 - 활동이 onResume() 상태로 전환될 때마다 필요한 다른 초기화 작업도 수행 onPause() - 다른 Ac..
컴포넌트
인텐트란? 컴포넌트를 실행하려고 시스템에 전달하는 메시지 기능을 수행하는 함수를 제공하는 클래스가 아니라 데이터를 담는 클래스 이 때, 데이터는 컴포넌트를 실행하는 정보이며 이 정보가 담긴 인텐트 객체를 시스템에 전달하면 컴포넌트가 실행된다 * 액티비티는 매니페스트 파일에 등록해야 한다. 액티비티 클래스 하나당 태그 하나로 등록해야 하며, name 속성은 생략 불가능하다. * 액티비티뿐만 아니라 서비스, 브로드캐스트 리시버, 콘텐츠 프로바이더도 매니페이스 파일에 등록해야 한다. 그 이유는 시스템에 컴포넌트를 알려야 하기 때문이다. 시스템은 런타임 때 매니페스트 파일의 정보를 참조하여 앱을 실행한다. val intent: Intent = Intent(this, DetailActivity::class.jav..
안드로이드 리눅스 커널을 기반으로 구글에서 제작한 모바일 운영체제 안드로이드의 특징 - 안드로이드는 공개 운영체제인 리눅스를 기본으로 한다 - 안드로이드 앱은 자바나 코틀린 언어를 이용해 개발한다 - 안드로이드 운영체제의 주요 부분과 라이브러리, 구글에서 만든 앱 등의 코드는 대부분 공개되어 있다 - 안드로이드 스마트폰은 구글뿐 아니라 여러 제조업체에서 만들 수 있다 - 안드로이드 앱은 구글의 플레이 스토어뿐만 아니라 다양한 방법으로 사용자에게 배포할 수 있다 - 안드로이드 플랫폼에서는 모든 응용 프로그램이 평등하다는 사상을 바탕으로, 모바일에 기본으로 탑재된 앱과 개발자가 만든 앱이 똑같은 환경에서 똑같은 API를 이용한다 안드로이드 운영체제의 구조 리눅스 커널(Linux Kernel) 안드로이드는 리..