안드로이드 스튜디오

2.10 안드로이드 스튜디오 Kotline MainActivity on∙∙ ∙ 명령 모니터링 예제

coding art 2020. 2. 19. 14:00
728x90


안드로이드 스튜디오의 핵심인 MainActivity.kt를 코딩해 보자. MainActivity 는 스마트폰의 가시적인 스크린과 하단의 3개의 터치 스위치를 직접 관할한다. 따라서 아래 코드 사례에서처럼 OnCreate, onStart, onRestart, onResume, onPause, onStop 명령들은 스마트폰의 MainActivity를 대상으로 앱을 실행시키는 단계별 구성요소 즉 overide fun on∙∙∙ 명령에 해당한다. 특히 MainActivity를 중심으로 onCreate를 비롯한 명령들의 실행에 따른 Logcat 콘솔에서 D/00 검색어를 사용하여 에뮬레이터든 스마트폰이든 간에 출력 결과를 순차적으로 살펴보자. Logcat 창을 생성하여 사용하기 위해서는 ViewTool WindowsLogcat을 클릭해 두어야 한다.



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 창의 출력 기능을 사용하여 가능하다는 점이다.

 

첨부된 파일을 다운 압축해제하여 사용해 보자.


Monitoring.zip




Monitoring.zip
0.13MB