액티비티_1

고성욱·2023년 3월 31일
0

안드로이드

목록 보기
25/26

안드로이드 액티비티

안드로이드 액티비티는 사용자 인터페이스 화면을 나타내는 하나의 창입니다. 즉, 사용자가 앱에서 보는 화면이 바로 액티비티입니다.

안드로이드에서 다수의 액티비티를 갖는 앱을 만들 수 있습니다. 이 때 각각의 액티비티는 서로 독립적이며, 하나의 앱 내에서도 서로 다른 동작을 수행할 수 있습니다.

컨텍스트

컨텍스트는 액티비티, 서비스등의 컴포넌트와 스피너, 리사이클러뷰와 같은 화면 요소를 사용하기 위해서 필요합니다.

컨텍스트는 시스템을 사용하기 위한 정보(프로퍼티)와 도구(메서드)가 담겨있는 클래스 입니다.

대부분의 컨텍스트는 컴포넌트 실행시 함께 생성되고, 그다음에 메서드를 호출 해서 각각의 도구를 사용할 수 있습니다.

액티비티는 컨텍스트를 상속받아 구현됩니다.

컨텍스트를 상속받은 컴포넌트들은 코드상에서 baseContext를 호출하는 것만드로 안드로이드의 기본 기능을 사용할 수 있습니다.

컨텍스트의 종류

  1. 애플리케이션 컨텍스트
    • 어플리케이션과 곤련된 핵심 기능을담고 있는 클래스 입니다. 앱을 통틀어서 하나의 인스턴스만 생성됩니다. 액티비티나 서비스 같은 컴포넌트에서 applicationContext를 직접 호출해서 사용할 수 있는데 호출 하는 지점과 관계없이 모두 동일한 컨텍스트가 호출됩니다.
  2. 베이스 컨텍스트
    • 안드로이드 4대 메이저 컴포넌트인 액티비티, 서비스, 컨텐트 프로바이더, 브로드캐스트리시버의 기반 클래스 입니다. 각각의 컴포넌트에서 baseContext 또는 this로 컨텍스트를 사용할 수 있고 컴포넌트 개수 만큼 컨텍스트도 함께 생성되기 때문에 호출되는 지점에 따라 서로 다른 컨텍스트가 호출 됩니다.
컴포넌트컨텍스트 기능
애플리케이션애플리케이션과 관련된 핵심 기능을 담고 있는 클래스로, 앱 전체에서 하나의 인스턴스만 생성됩니다.
액티비티UI를 관리하는 클래스로, 앱에서 사용자가 볼 수 있는 화면을 담당합니다. 사용자 인터페이스를 구성하고, 사용자 입력에 응답하며, 여러 개의 액티비티를 조합하여 앱의 전체적인 UI를 구성합니다.
서비스백그라운드에서 실행되는 컴포넌트로, 앱이 화면에서 나가도 계속 실행할 수 있습니다. 다른 컴포넌트와 연결하여 백그라운드 작업을 수행하거나, 원격 프로세스와 통신하기 위한 수단으로 사용됩니다.
컨텐트 프로바이더앱 데이터를 관리하고 다른 앱에 데이터를 제공하는 인터페이스를 제공하는 컴포넌트입니다. 앱의 데이터베이스나 파일 시스템의 내용을 다른 앱에 제공할 수 있습니다.
브로드캐스트 리시버시스템이나 다른 앱에서 발생한 이벤트를 수신하는 컴포넌트입니다. 예를 들어, 전화가 왔을 때 브로드캐스트 리시버를 등록하여 이벤트를 처리할 수 있습니다.

인텐트

안드로이드에서 인텐트(Intent)는 컴포넌트간의 통신을 위한 메시지 객체입니다. 인텐트를 사용하면 다른 앱의 컴포넌트를 실행하거나, 자신의 컴포넌트를 실행할 때 추가적인 정보를 전달할 수 있습니다. 인텐트는 명시적 인텐트와 암시적 인텐트로 나눌 수 있습니다. 명시적 인텐트는 실행할 컴포넌트를 직접 지정하는 방식이며, 암시적 인텐트는 실행할 컴포넌트를 액션(action)과 데이터(data)를 이용하여 시스템에 요청하는 방식입니다.

profile
안드로이드, 파이썬 개발자

0개의 댓글