# 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