안드로이드 스튜디오의 핵심인 MainActivity.kt를 코딩해 보자. MainActivity 는 스마트폰의 가시적인 스크린과 하단의 3개의 터치 스위치를 직접 관할한다. 따라서 아래 코드 사례에서처럼 OnCreate, onStart, onRestart, onResume, onPause, onStop 명령들은 스마트폰의 MainActivity를 대상으로 앱을 실행시키는 단계별 구성요소 즉 overide fun on∙∙∙ 명령에 해당한다. 특히 MainActivity를 중심으로 onCreate를 비롯한 명령들의 실행에 따른 Logcat 콘솔에서 D/00 검색어를 사용하여 에뮬레이터든 스마트폰이든 간에 출력 결과를 순차적으로 살펴보자. Logcat 창을 생성하여 사용하기 위해서는 View≻Tool Windows≻Logcat을 클릭해 두어야 한다.
MainActivity 코드의 움직임을 모니터 하기 위해서는 Resource 의 layout에서 activity_main.xml 코드에서 LinearLayout 으로 변경 후 TextView 의 HelloWorld 를 지우고 대신에 버튼을 하나 설치해서 클릭할 수 있도록 준비한다.
MainActivity에 다음과 같이 코드를 작성하자. Log.d() 명령 사용 시에 말풍선이 나타나면 “import”를 선택 클릭하자. 헤더 영역에 import android.util.Log 가 입력된다.
위와 같이 코딩 후 RUN 시키되 Logcat 창을 관찰해 보자. 아울러 마지막 단계에서 스마트폰 하단의 왼쪽 버튼을 눌러 onPause, onStop, onDestroy 가 실행됨을 확인하도록 한다. 출력되는 양이 많으므로 D/00 으로 필터링 하여 보자.
앱을 스마트폰에서 처음 실행할 때 onCreate 명령이 한번 실행되며 앱을 끈 후 다시 실행시키면 onRestart 가 실행된다. 한편 앱을 중단시키는 스마트폰 하단의 버튼을 누르면 onPause 가 실행된다. onDestroy 는 OpenCV 의 카메라 화면 작동을 끌 때에 사용하는 AllDestroyWindow 와 유사하다.
이러한 실행 동작은 앱인벤터에서 MIT AI2 Companion 앱을 사용하여 QR 코드로 스마트폰에 앱코드를 전송한 다음 동작 실행시키는 과정과 일부 유사한 부분으로 보인다. 참고로 앱인벤터에서는 한줄 한줄 실행 여부 코드를 모니터링 할 수는 없지만 안드로이드 스튜디오에서는 RUN 창과 Logcat 창의 출력 기능을 사용하여 가능하다는 점이다.
첨부된 파일을 다운 압축해제하여 사용해 보자.
'안드로이드 스튜디오' 카테고리의 다른 글
2.12 2주면 포기할 당신을 위하여: 안드로이드 스튜디오에서 Intent 코딩: I (0) | 2020.02.20 |
---|---|
2.11 안드로이드 스튜디오 3.5.3 Kotline Class 코드 출력 (0) | 2020.02.19 |
2.9 안드로이드 스튜디오 AnalogClock 코딩 예제 (0) | 2020.02.18 |
2.8 앱인벤터와 비교해본 안드로이드 스튜디오 LOGIN 코딩 (0) | 2020.02.17 |
2.7 SimpleCamera의 MainActivity 에 의해 촬영된 카메라 이미지 가져오기 (0) | 2020.02.14 |