Kotlin

[Kotlin Study] 4. 안드로이드 앱 화면 - 액티비티 컴포넌트

pearl.k 2023. 10. 3. 12:54

1. 액티비티

안드로이드 앱의 기본 구조는 컴포넌트를 기반으로 한다.

액티비티, 서비스, 브로드캐스트 리시버, 콘텐츠 프로바이더 등과 같은 여러 가지 컴포넌트를 적절하게 조합해서 만든다.

이 중 화면을 출력하는 컴포넌트는 "액티비티"뿐이므로, 앱에서 화면을 출력하고 싶으면 액티비티를 만들고, 여기서 출력한 내용을 화면에 띄운다고 생각하면 된다.

액티비티는 화면을 출력하는 컴포넌트이고, 그 자체가 화면이 아니므로 여기에 적절한 화면을 구성해서 출력해야 한다. 이 기능은 view 클래스를 이용해 구성할 수 있다.

e.g. 문자열 출력 TextView, 이미지 출력 ImageView 클래스를 이용할 수 있다

 

2. 액티비티 코드로 화면 구성

액티비티 컴포넌트에서 뷰로 화면을 구성하는 방법에는 2가지가 있다.

  • 액티비티 코드로 작성
  • 레이아웃 XML 파일 작성

첫 번째 방법은 필요한 View 객체들을 생성한 후, 원하는 Layout 객체를 따로 만들어 여기에 붙여준다. 그리고 이 Layout 객체를 액티비티 컴포넌트 함수 setContentView()에 전달해서 출력하는 방법이다.

두 번째 방법은  View 객체들을 XML의 태그로 명시해서 화면을 구성하는 방법이다. 아래 코드는 화면 출력 XML 파일을 setContentView() 함수에 전달해준 예시이다.

 

 

3. 두 가지 방법 중 무엇을 선택해야하지?

두 방법 중에 개발자가 원하는 것을 직접 선택하면 된다. 그러나 코드의 유지/보수, 간결성을 생각한다면 XML 파일로 화면을 구현하는 것이 더 좋을 수 있다. 액티비티는 화면을 출력하는 부분이므로 필연적으로 코드가 길어질 수 밖에 없다. 여기서 화면 구현 코드까지 일일히 다 작성하게 된다면 코드 길이가 너무 길어서 작업이 비효율적일 수 있다.

따라서 화면 구현 부분을 XML 파일로 분리하고 액티비티에는 그 외의 코드를 작성해주는 것이 더 효율적이다. 특히 서비스 구현이 많은 앱에서는 대부분 화면 구현 방식으로 XML을 선택하고 있다고 한다.