# 1. Language/🔰 Kotlin

Kotlin # Activity / ViewControl

둥굴둥굴둥굴레차 2022. 7. 18. 18:20

🎈 Activity

 

Activity
    - 화면을 구성하는 가장 기본이 되는 요소
    - 자동으로 activity와 매칭되는 xml을 생성해주고 자동으로 manifest(설계도)에 등록된다.
    - 화면을 그리는 기능 + 화면에서 발생할 수 있는 일을 처리할 수 있는 기능이 내장

    - 특수한 activity
        * 런처 activity, main activity
            - 앱이 실행될 때 최초로 실행되는 activity

    - 생명주기가 있다. -> 이해하는 것이 중요
        - 안드로이드 OS가 activity를 직접 종료 시키는 일은 없다.
        - 다만 프로세스 종료는 가능

            * onCreate()
                - 필수적으로 구현해야한다
                - 생명주기 중에서 단 한번만 발생한다
                    * 즉, 단 한번만 실행하면 되는 일들를 여기서 구현.
                        - 화면 그리기(필수), 데이터 준비하기 등
            * onStart()
                - activity를 포그라운드(전면, 앞, 사용자가 사용중일 때, 사용자 눈에 보일 때)로 보내 상호작용 할 수 있도록 준비
                - 이 과정은 매우 빠르게 완료된다
            * onResume()
                - 앱이 사용자와 상호작용이 가능한 상태
                - 특정 이벤트가 발생하여 앱에서 포커스가 떠날 때 까지 이 상태에 머무르게 된다
                    * 특정 이벤트 -> 전화가 온다거나, 기기화면이 꺼질 때
                    * 즉, 화면이 가려지지 않으면 이 상태에 머문다
            * onPause()
                - 사용자가 activity를 떠나는 것을 나타내는 첫 번째 신호
                    * activity가 포그라운드에 있지 않다는 신호 -> 그렇다 해서 바로 백그라운드 상태에 있다는 것은 아니다.
                    * 즉, 백그라운드 상태에 있는 것은 아니고 화면이 잠깐 가려진 상태.
                    * 잠시 일시정지할 때 사용
                        - 영상 일시중지, GPS 일시중지 등
            * onStop()
                - activity가 사용자에게 더이상 사용자에게 표시되지 않는 상태
                    * 새로운 activity가 나올 때
                    * 화면이 가려지는 경우
                - 사용자에게 보이지 않는 동안 앱은 리소스를 해제해야 한다
                    * 영상 종료, GPS 종료
                - 마지막으로 해야하는 작업을 수행
                    * 사용자의 작업을 저장할 수 있는 마지막 기회
            * onDestroy()
                - activity가 소멸되기 전에 호출된다
                    * 기기회전, 멀티 윈도우 모드(여러 앱을 한 번에 켜서 사용)에서 시스템이 일시적으로 activity를 소멸시킨다
                    * onStop에서 해제되지 않은 나머지 리소스를 해제한다

🎈 ViewControl

 

뷰를 컨트롤 하는 방법
    - 사용자의 상호작용으로 인해 뷰를 조작하는 방법
        * 뷰의 입장에서는 이벤트가 발생한 것
        * 즉, 뷰에 이벤트가 발생했을 때 처리하는 방법

    - Listener
        * 이벤트가 발생했을 때 수신하는 역할

    - xml에 존재하는 뷰를 activity로 가져오자
        * findViewById
            - Id -> xml에서 부여한 view의 id
        * kotlinx -> deprecated됨
            - 귀찮은 findViewById과정을 생략 가능
        * databinding
            - 뷰와 데이터를 묶는다

'# 1. Language > 🔰 Kotlin' 카테고리의 다른 글

Kotlin # Intent  (0) 2022.07.26
Kotlin # 계산기 만들기  (0) 2022.07.20
XML # Shape Drawable 요소 정리  (0) 2022.07.14
Kotlin # ConstraintLayout 실습  (0) 2022.07.12
Kotlin # LinearLayout/RelativeLayout 실습  (0) 2022.07.11