Android 앱 개발 입문 - Android Studio

2024. 6. 18. 15:35Android 앱 개발

# 유용한 단축키

- Ctrl + D: 한 줄 복사

- 주석: Ctrl + /

- 바로 직전에 봤던 코드로 돌아가기: Ctrl + [

 

# Android 프로젝트 구조

1) 앱 구성 파일 분석

  (1) Gradle 빌드 설정 파일 

   - Gradle: 안드로이드 앱의 빌드 도구

   - build.gradle = Gradle의 설정 파일

   - 프로젝트 수준의 build.gradle(Project:AndroidLab)

   - 모듈 수준의 build.gradle(Module:AndroidLab.app)

이름 설명
build.gradle 빌드 설정 파일
AndroidManifest.xml 앱 메인 환경 설정 파일
res 리소스 폴더
activity_main.xml 레이아웃 xml 파일
MainActivity.kt 메인 액티비티 파일

 

# 매니페스트 파일

1) 개념: 앱의 기본 특징을 설명하고, 앱의 구성 요소인 컴포넌트(액티비티, 서비스) 등을 정의한 xml 파일

2) <manifest> 태그의 package 속성: 이 앱의 고유한 식별자 역할을 하는 패키지 이름이 정의

 

3) <application> 태그

- 이 앱을 구성하고 있는 컴포넌트를 <application> 태그 하위에 정의

- 컴포넌트 종류에 따른 태그

  * 액티비티: <activity> 요소

  * 서비스: <service> 요소

  * 브로드캐스트 수신기: <receiver> 요소

  * 콘텐츠 제공자: <provider> 요소

 

4) <activity> 태그

- android: name 속성이 Activity 서브 클래스의 완전히 정규화된 클래스 이름을 나타냄

- 여기서는 이름이 Main Activity인 Activity 서브 클래스가 앱을 구성하는 유일한 컴포넌트

 

5) <intent-filter> 태그

- 안드로이드 컴포넌트 하위에 포함되는 태그로, 해당 컴포넌트가 수신할 수 있는 인텐트를 걸러내는 역할

- MainActivity인 액티비티 컴포넌트가 앱을 실행시키는 시작점으로써, 애플리케이션 런처에 등록되어 있음을 나타냄

 

# 리소스 파일

- 개념: 앱 리소스(이미지, 문자열 등)를 코틀린 코드에서 분리해 독립적으로 유지/관리할 수 있게 함으로써 다양한 환경 변화에서 코드를 변경 없이 사용할 수 있음

- 리소스 폴더

  * drawable: 이미지 리소스

  * layout: UI 구성에 필요한 리소스

  * mipmap: 앱 아이콘 이미지

  * values: 문자열 등의 값 리소스

 

- 주의사항

  * res 하위 각 폴더명은 지정된 것만 사용해야 함

  * 각 리소스 폴더의 하위 폴더는 지정할 수 없음

  * 리소스 파일명에는 대문자 사용 불가

  * File-based resource names must contain only lowercase a~z, 0~9, or underscore(_)

# aapt 도구

- 개념: 앱 리소스를 컴파일해 컴파일된 리소스(R클래스와 패키지된 리소스 파일)을 생성함

- R.java: aapt 도구에 의해 자동으로 생성된 파일 / R클래스는 리소스를 코틀린 프로그램에서 접근하기 위한 리소스 ID를 정의

 

# MainActivity.kt

- 안드로이드 프로젝트 생성 시 자동으로 만들어진 코틀린 파일

- package ~~~: MainActivity 클래스가 속한 패키지

- class Mainactivity: AppCompatActivity(): Activity의 서브 클래스 / 하위 플랫폼 버전 지원

- override fun Oncreate(): 액티비티 생성 순간에만 딱 한 번 호출되는 메소드 / 액티비티 관련 변수 초기화 및 사용자 인터페이스 설정 코드 포함

- setContentView(R.layout.activity_main): R.layout.activity_main이 가리키는 리소스를 이 액티비티의 콘텐츠뷰로 사용하겠다는 의미 / R.layout.activity_main은  res, layout 폴더에 있는 activity_main.xml을 가리키는 정적 상수

 

 

'Android 앱 개발' 카테고리의 다른 글

Android - 액티비티(Activity)  (0) 2024.06.20
Android - Layout  (0) 2024.06.19
Android UI - View & Widget  (0) 2024.06.19
240527_1주차 온보딩 (1)  (0) 2024.05.27
Starter Note  (1) 2024.04.15