티스토리 뷰
반응형
- Android의 가장 기본적이면서 중요한 구성요소
- 액티비티는 사용자와 상호작용하기 위한 진입점으로, 화면 하나를 나타냄
Activity 중요 사항
- Activity Lifecycle : 각 수명주기에 해당하는 메서드가 언제 호출되는지 알아야함
- onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy()
- AppCompatActivity 구성 요소 : 각 구성요소가 어떤 역할을 하는지 알아야 한다.
- [Extends] FragmentActivity
- [Extends] ComponentActivity
- [Implements] LifecycleOwner
- [Implements] ViewmodelStoreOwner
- [Implements] SavedStateRegistryOwner
- [Implements] OnBackPressedDispatcherOwner
- [Implements] ActivityCompat.OnRequestPermissionsResultCallback
- [Extends] FragmentActivity
Activity 코드 기본 설명
아래 코드는 안드로이드 스튜디오 기본 앱 코드에서 가져왔다.
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() { // 1) AppCompatActivity를 상속받는 MainActivity
override fun onCreate(savedInstanceState: Bundle?) { // 2) AppCompatActivity속 onCreate function
super.onCreate(savedInstanceState) // 3) AppCompatActivity의 onCreate 호출
setContentView(R.layout.activity_main) // 4) AppCompatActivity의 setContentView 호출
}
}
1) AppCompatActivity란?
안드로이드 액티비티의 가장 기본적인 Activity 클래스 해당 클래스에서 Activity의 수명 주기 관리를 위한 메서드들이 짜여있다.
2) AppCompatActivity의 onCreate 메서드 - Activity Lifecycle의 시작점
Activity가 시작되고 처음으로 불리는 메서드 Activity가 시작되거나, Activity가 Killed된 후 시작될 때 불린다.
3) AppCompatActivity의 onCreate호출
이 부분에서는 AppCompatDelegate를 AppCompatActivity와 link 시키는 일을 한다. 이 부분이 없으면 Activity의 구성을 위임하는 객체가 없을 수 있으므로 무조건 호출해야 한다. 호출하지 않으면 오류가 난다.
자세한 사항은 이후 다룰 예정이다.
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
final AppCompatDelegate delegate = getDelegate();
delegate.installViewFactory();
delegate.onCreate(savedInstanceState);
super.onCreate(savedInstanceState); // AppCompatActivity는 FragmentActivity를 상속 받으므로 FragmentActivity의 onCreate을 호출한다.
}
4) AppCompatActivity의 setContentView 호출
앞서 Activity에는 무조건 화면 하나가 있다고 했다. 이 화면을 activity에 set하는 역할을 담당하는 메서드이다.
참고자료
안드로이드 공식 사이트 : developer.android.com/guide/components/activities/intro-activities?hl=ko
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Kotlin sealed class
- HTTP 301 Moved Permanently
- LocalDateTime
- REST API Plain Text
- HTTP 100 Continue
- sealed class enum
- HTTP 401 Unauthorized
- kotlin
- HTTP 204
- REST xml
- REST API POST
- REST API란 무엇인가?
- java
- sealed class 안정성
- Kotlin sealed class 상속
- REST API HTML
- HTTP 400
- REST JSON
- 코틀린 also
- 500 Internal Server Error
- sealed class 상속
- HTTP 404 Not Found
- ZonedDateTime
- Android
- sealed class 특징
- REST API GET
- sealed class 1.5.0
- HTTP 201
- REST API PUT
- sealed class 사용 방법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함