# 1st [Android Beginning] Android Programming 시작! / Activity 클래스 개념
📚 포스팅 주요 내용
Android 프로그래밍 기초적인 문법 익히기
🚩 포스팅 진행 회차 및 일자
1회차(2021.07.15)
🤔 스터디에서 나왔던 질문
1. 스터디 진행은 어떻게?
💡 주제에 대한 질문에 대한 서로의 답과 아직 해결하지 못한 질문들
1`. 스터디 진행은 어떻게?
Hongdroid : 현직 개발자가 알려주는 안드로이드 앱 쉽게 만드는 방법 동영상 강의를 통해 기본적인 안드로이드 프로그래밍 예제 따라하기
📝 안드로이드 앱 UI 표시
일반적으로 안드로이드 시스템에서 앱이 실행되면, 전체 화면에 앱의 UI가 표시되고,
사용자가 입력한 화면 터치 또는 버튼 터치 등의 이벤트에 따라 앱의 기능이 수행된다.
이 때, 앱의 기능이 동작하는 과정에서 최초 화면에 표시된 UI의 내용이 일부 바뀌거나 새로운 UI가 화면의 전체 영역에 표시되기도 한다.
📌 안드로이드 Activity
안드로이드 Activity(작업 O, 활동 X)은 화면에 표시되는 UI 구성을 위해 가장 기본이 되는 요소이다.
안드로이드 앱은 화면에 UI를 표시하기 위해 최소 하나의 Activity를 가져야 하며, 앱 실행 시 지정된 Activity를 실행하여 사용자에게 UI를 표시하게 된다.
안드로이드 프로젝트 생성 시 MainActivity가 바로 앱 실행 시 최초로 보여지는 Activity이다
(이름이 꼭 MainActivity일 필요가 없다. 프로젝트 생성 시, 입력하는 설정에 의한 결정일 뿐, 자신이 원하는 이름으로 지정할 수 있다.)
아래의 이미지는 새로운 프로젝트 생성한 초기 화면으로,
Android Studio에서 자동으로 생성되는 MainActivity가 최초 실행되도록 지정되어 있다.
앱 실행 시 시작되는 Activity 정보는 AndroidManifest.xml 파일에서 확인할 수 있다.
Activity 클래스는 계층 구조이루는데, android.app.Activity에서 상속된, 다양한 용도의 Activity가 존재하는 것을 확인할 수 있다. (https://developer.android.com/reference/android/app/Activity)
그리고 android.content.Context에서 상속된 것을 기억하자.
이는 Activity 클래스가 android.content.Context의 기능들을 사용할 수 있다는 의미이다.
또한, android.content.Context가 인자로 사용되는 곳에 Activity 클래스의 참조가 사용될 수 있다는 뜻이기도 하다.
📌Activity 생명 주기 (Activity Life Cycle)
main() 함수를 통해 구동되는 Java 프로그래밍과 비슷하게
안드로이드에서는 Activity의 시작은 onCreate()라는 callback 함수를 호출하면서 시작한다.
위 이미지에서 언급된 함수들 모두 callback 함수로,
Activity가 생성되어 종료되는 시점까지 자동으로 호출되므로 사용자가 모두 구현할 필요는 없다.
다만 각각의 함수들을 이해하고 사용할 줄 알아야 한다.
No |
Callback 함수 |
설명 |
1 |
onCreate() |
Activity가 생성되면 가장먼저 호출되는 callback 함수. / 화면 정의하는 용도로 많이 사용 |
2 |
onStart() |
onCreate()가 완료되면 onStart()가 호출되는 callback 함수. |
3 |
onResume() |
사용자가 응용프로그램과 상호 작용할 수 있는 상태에 호출되는 함수. / 사용자가 응용프로그램을 사용할 수 있는 상태를 의미한다. / 주로 앱 기능이 onResume()에 설정된다. |
4 |
onPause() |
Activity가 중지된 상태로, 사용자로부터 어떠한 입력도, 코드도 실행할 수 없는 상태. / 다른 Activity가 실행되어 Activity Stack의 최상단으로 올라가는 경우 호출. / onStop() 또는 onResume() 상태로 전환이 가능한다. |
5 |
onStop() |
Activity가 사용자에게 더 이상 보여지지 않는 경우 호출. / onDestroy() 또는 onRestart() 상태로 전환 가능이 가능하다. |
6 |
onRestart() |
Activity 가 onStop() 이 호출된 이후 재 시작 되는 경우 호출 되는 함수. / onRestart() 이후 onStart() 상태로 자동으로 전환된다. |
7 |
onDestroy() |
시스템이 Activity를 완전히 종료할 때 호출되는 함수. / onStop() 상태가 완전히 제거되는 단계이다. / 활동이 호출하는 마지막 callback 함수. |
어떤 상황에서 어떤 함수가 호출되는지 잘 알아야 안드로이드 앱을 개발할 때 편하게 사용 할 수 있다.
일반적으로 가장 많이 구현하는 함수는 onCreate()이며, onResume()과 onPause() 함수도 앱의 성격에 따라 사용 빈도 수가 높은 편이다.
🗓️ 다음 포스팅 주제
(미정) TextView
댓글을 작성해보세요.