안드로이드 기본 개념에 대해 알아보자
안드로이드 개념
안드로이드 기본 : 코틀린 과정을 시작한 여러분을 환영합니다! 😀 이번에는 안드로이드 스튜디오 프로그램의 구조를 이해해보겠습니다.
구조 파악하기
안드로이드 스튜디오를 켜고 이전에 만들었던 프로젝트를 열어볼게요. 화면 좌측에 폴더 구조(폴더들의 모음?)가 보일 거예요. MainActivity라는 파일을 더블클릭해볼게요. (혹시 MainActivity라는 파일이 보이지 않으면 app > java > 패키 지명을 더블클릭해서 폴더를 열어주세요.) 그리고 하단에 Logcat이라는 버튼이 보이시나요! 구성은 다를 수 있지만 모두 Logcat 은 있을 거예요. 그 버튼도 클릭해볼게요. 짠! 이 상태에서 안드로이드 스튜디오 구조를 조금 더 자세히 살펴볼게요. 안드로이드 스튜디오는 크게 프로젝트 창, 에디터 창, 도구 창으로 이루어져 있습니다. 기본 위치는 저렇게 되어 있지만, 여러분의 선호에 따라 자유롭게 위치나 창 방식을 바꿀 수 있어요. ✅ 프로젝트 창 : 프로젝트에 포함된 폴더와 파일들을 볼 수 있는 창 ✅ 에디터 창 : 파일을 수정할 수 있는 창 (레이아웃/코드) ✅ 도구 창 하나씩 조금 더 살펴볼게요!
프로젝트 창
프로젝트 창은 여러가지 방식으로 폴더와 파일을 볼 수 있습니다. 위의 사진과 같이 말이죠! 여러 가지가 있지만 그중에서 가장 많이 쓰이는 것이 Project와 Android입니다. ✅ 프로젝트 모드 : 모든 폴더와 파일을 폴더 구조 그대로 볼 수 있는 모드 ✅ 안드로이드 모드 : 안드로이드 개발 용으로 최적화한 폴더/파일 구조 (불필요한 파일은 알아서 숨겨준다) 안드로이드 모드 개발할 때에는 보통 안드로이드 모드를 사용하고, 필요할 때 가끔 프로젝트 모드를 사용할 때도 있어요. 안드로이드 모드에서 위의 사진처럼 폴더들을 마구 펼쳐볼까요? 중요한 파일을 짚고 넘어가도록 하겠습니다. ✅ AndroidManifest.xml 앱의 전체 구성 정보를 담고 있는 파일이에요. 흔히 매니페스트라고 말하면 이 파일을 말하는 것이라는 점! 액티비티의 개수, 앱의 첫 화면을 담당할 액티비티가 무엇인지, 권한(카메라, 파일 접근 등) 허용 등의 코드가 들어있습니다. ✅ MainActivity.kt, activity_main.xml 액티비티, 즉 화면을 구성하는 파일들이에요.. xml 파일은 레이아웃(앱의 디자인)을 담당하는 파일,. kt 파일은 화면에 대한 코드(코틀린)를 작성하는 파일이랍니다. 둘은 짝꿍이에요! 따라서 보통 이름을 지을 때 파일 이름이 OOOActivity 이면 activity_OOO라고 레이아웃 파일을 명명합니다. ✅ build.gradle (프로젝트 수준, 모듈 수준) Gradle Scripts 부분에 있는 build.gradle 파일 2개도 중요한 파일이에요. 프로젝트를 설치 가능한 앱으로 만들기 위한 과정을 빌드라고 하는데, 빌드를 위해 필요한 설정들을 작성하는 곳이랍니다. 프로젝트 수준의 build.gradle 파일이 있고 모듈 수준의 build.gradle 파일이 있습니다. 외부의 라이브러리를 가져올 때 빌드 모듈에 이러이러한 코드를 적어라 라는 설명을 볼 일이 많을 거예요! 그럴 때는 당황하지 않고 프로젝트 수준인지, 모듈 수준인지 확인한 후 해당하는 파일을 열어 코드를 추가하면 되겠죠? 😙
레이아웃 에디터 창
activity_main.xml 파일을 더블클릭해서 열어볼게요. 그럼 우측에 레이아웃 에디터 창이 열립니다. 레이아웃 에디터 창은 Code, Split, Design 총 3가지 모드로 볼 수 있습니다. ✅ 코드 모드 : 코드로 레이아웃을 수정하고 확인할 수 있는 모드 ✅ 스플릿 모드 : 코드와 디자인 모드를 반반 볼 수 있는 모드 ✅ 디자인 모드 : 그래픽 UI로 xml 파일을 수정할 수 있는 모드 디자인 모드는 크게 팔레트(Palette), 컴포넌트 트리(Component Tree), 속성( Attributes )창, 그리고 화면이 표시되는 창으로 구분되어 있습니다. ✅ 팔레트(Palette) 디자인에 추가할 수 있는 컴포넌트들을 모아놓은 부분이에요. 여기서 원하는 컴포넌트를 선택하여 화면 혹은 컴포넌트 트리의 원하는 위치에 드래그 앤 드롭하여 추가할 수 있습니다. ✅ 컴포넌트 트리 (Component Tree) 컴포넌트 트리는 현재 화면 내에 들어있는 컴포넌트들을 트리 구조로 보여줘요. 아래의 예시에서는 ConstraintLayout 컴포넌트 안에 TextView 컴포넌트가 속해있네요!