본문 바로가기

오늘의 공부/android

[모두의 안드로이드]2일차: 액티비티 다루기

참고서적:모두의 안드로이드

*제가 직접 사서 참고하고 있습니다.

개발환경:우분투 20.04 lts


[액티비티의 수명주기]

웹에서 어떤 동작이 일어날 떄의 화면 상태를 액티비티(activity)라고 합니다. 예를 들어 어떤 앱에 로그인을 하고 접속하고 화면이 바뀌는 모든 각각의 화면이 각각 다른 액티비티라고 볼 수 있습니다.

 

액티비티는 시작되어 종료될 때 까지 그 상태가 변화하는데, 상태가 변할 때마다 어떤 일이 일어나는지를 '수명주기'라고 부릅니다.

 

안드로이드의 모든 앱은 OnCreare()함수로 시작합니다. 앱을 시작한다는 신호를 보내는 것으로 자동차 시동 거는 것과 비슷하다고 볼 수 있습니다. 

 

그리고 onStart()가 이어 받습니다. 백버튼을 누르거나 다른 화면이 앱을 일부 가린다면 onPause가 되고 

다른화면으로 전환할때는 onStop이 됩니다. 이 상태에서 다시 해당 앱으로 돌아가면 onResume상태가 됩니다.

 

그리고 완전이 꺼지면  onDestroy가 됩니다.

 

*프로세스는 프로그램을 실행했을 때 메모리에서 작동하는 작업 단위를 의미합니다.


[수명주기 확인해보기]

새로운 프로젝트를 만듭니다.

 

mainActivity.java파일로 가서 아래처럼 코드를 바꿔줍니다.

 

package com.example.lifecycle;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;//추가부분

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.i("gitbut","onCreate");// 추가부분
    }
	//================================================추가부분
    @Override
    protected void onResume(){
        super.onResume();
        Log.i("gitbut","onResume");
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();

        Log.i("gitbut", "onDestroy");
    }

}

 

 

 

 

 

실행을 시킨후  로그캣 창을 엽니다.

 

클릭 후

 

 

여기에서 verbose라고 적혀있는 칸이 보이는데, 이는 모든 정표시를 의미합니다. 이 옆에 돋보기에 키워드를 입력하면 키워드에 해당하는 상태만 볼수 있습니다. 저희는 gitbut 이름의 키워드만 찾아보겠습니다.(log.i에 태그라 적힌게 키워드)