이번 글에서는 Android에서 쓰이는 Activity에 대해서 알아보고자 한다.
Activity 클래스는 Android의 중요한 구성요소 활동이 시작되고 결합되는 방식은 플랫폼 애플리케이션 모델의 일부이다.
기존의 프로그래밍 패러다임과 달리 main() 메서드로 실행되는 앱인 경우,
Android 시스템은 다음과 같은 방법으로 Activity 인스턴스의 코드를 시작한다.
호출의 특정 단계에 해당하는 특정 콜백 메서드를 수명 주기를 지원한다.
새로운 Activity는 어떻게 만들 수 있을까.
총 3단계로 나눌 수 있다.
1. Activity 클래스 상속
android.app.Activity 또는 androidx.appcompat.app.AppCompatActivity 를 상속받아서 새로운 Activity를 생성한다.
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main) // UI 레이아웃 설정
}
}
2. AndroidManifest.xml에 등록
AndroidManifest.xml 파일에 새로운 Activity를 <activity> 태그로 등록한다.
<activity android:name=".MainActivity"></activity>
3. Intent를 사용하여 Activity 실행
다른 Activity에서 새로운 Activity를 시작하기 위하여 Intent 를 사용한다.
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
AppCompatActivity에 대해서 알아보자.
AppCompatActivity는 androidx.appcompat.app 패키지에 포함된 클래스이다.
안드로이드에서 최신 UI 기능을 사용할 수 있도록 지원하는 Activity의 기본 클래스이다.
백워드 호환성(Backward Compatibility)을 제공하고 구버전(Android 4.x 이상)에서도 최신 기능을 사용할 수 있도록 한다.
AppCompatActivity는 다음과 같은 특징을 가진다.
- ActionBar 지원
- AppCompatActivity를 사용하여 Toolbar를 포함한 ActionBar를 쉽게 활용할 수 있다.
- 테마 및 스타일 호환성 제공
- Material Components 및 최신 UI 요소를 구버전에서도 사용할 수 있도록 지원한다.
- Activity 라이프사이클 관리
- 기본 Activity 클래스의 기능을 확장하여 더 나은 상태 저장 및 복원을 지원한다.
아래는 AppCompatActivity의 예제 코드이다.
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
안드로이드를 공부할 때 공식문서를 참고하는 것이 좋다고 말은 하지만,, 필자는 아직 잘 모르겠다. 난독증 때문에
공식 문서를 읽고 나의 언어로 바꾸려는 공부를 해야겠다.
습관화하자.
아래는 이번 글에서 쓰인 내용에 관한 공식 문서이다.
https://developer.android.com/guide/components/activities/intro-activities?hl=ko
활동 소개 | App architecture | Android Developers
활동은 사용자가 전화 걸기, 사진 찍기, 이메일 보내기 또는 지도 보기와 같은 작업을 하기 위해 상호작용할 수 있는 화면을 제공하는 애플리케이션 구성요소입니다. 각 활동에는 사용자 인터페
developer.android.com
https://developer.android.com/reference/androidx/appcompat/app/AppCompatActivity
AppCompatActivity | API reference | Android Developers
androidx.appsearch.builtintypes.properties
developer.android.com
'Android' 카테고리의 다른 글
[Android] 안드로이드 레이아웃(Layout) (0) | 2025.03.19 |
---|---|
[Android] 안드로이드 매니페스트(Manifest)란? (0) | 2025.03.18 |
[Android] 안드로이드 아키텍처(Architecture) 권장사항 (2) | 2025.03.17 |