# 1st [Android Beginning] Android Programming 시작! / Activity 클래스 개념

# 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

댓글을 작성해보세요.