본문 바로가기
공부/Android

Do it! 깡샘의 안드로이드 앱 프로그래밍 with 코틀린 첫째마당 (1~2장)

by 유스베리이 2024. 5. 19.

01. 개발환경 준비하기

1-1 안드로이드 스튜디오 설치하기 

 

developer.android.com

 

1-2 첫 번째 앱 만들기

 

package name 은 앱의 식별값

save location 은 프로젝트 파일들이 저장되는 루트 디렉터리

language 는 안드로이드 앱을 어떤 언어로 개발할 것인지를 나타냄

안드로이드 스튜디오는 개발 언어로 Kotlin 과 Java 를 지원

Minimum SDK 는 앱이 설치되는 최소 SDK 버전

 

 

SDK매니저

- 안드로이드 SDK 를 관리할 수 있는 SDK 매니저

 

가상 기기

AVD ( Android virtual device)  : 에뮬레이터 (Emulator) 

 

1-3  앱 실행하기 

 

실제 스마트폰에서 실행하는 방법

 

배포파일

안드로이드 앱의 배포 파일

- APK : 안드로이드의 전통적인 배포 파일로서 컴파일된 코드와 리소스를 묶어서 키로 서명한 것


- AAB : 2018년 구글에서 발표한 새로운 안드로이드 앱 배포 파일

 

2. 안드로이드 앱의 기본 구조

2-1 안드로이드 소개

안드로이드 특징 

  •   안드로이드는 공개운영체제인 리눅스를 기반으로합니다.
  •   안드로이드앱은 자바나코틀린언어를 이용해 개발합니다.
  •   안드로이드운영체제의 주요부분과 라이브러리,구글에서 만든 앱 등의 코드는 대부분 공개되어있습니다.
  •   안드로이드 스마트폰은 구글뿐 아니라 여러 제조업체에서 만들 수 있습니다.
  •   안드로이드앱은 구글의 플레이스토어뿐만 아니라 다양한 방법으로 사용자에게 배포할 수 있습니다.
  •   안드로이드 플랫폼에서는 모든 응용프로그램이 평등하다는 사상을 바탕으로, 모바일에 기본으로 탑재된 앱과 개발자가 만든 앱이 똑같은 환경에서 똑같은 API를 이용합니다.

안드로이드 운영체제

 

안드로이드는 자바 클래스를 런타임 때 그대로 실행하지 않고 DEX 파일로 컴파일함

DEX 파일을 해석하는 ARTAndroid runtine 에서 실행

 

2-2 안드로이드 앱 개발의 특징

컴포넌트 기반으로 한 개발

- 컴포넌트는 애플리케이션의 구성요소 

 

컴포넌트 종류 

- 액티비티 화면을 구성

- 서비스 백그라운드 작업을 함

- 콘텐츠 프로바이더 앱의 데이터를 공유

- 브로드캐스트 리시버 시스템 이벤트가 발생할 때 실행되게 함

 

액티비티는 Activity, 서비스는 Service, 콘텐츠 프로바이더는 ContentProvider, 브로드캐스트 리시버는 BroadcastReceiver 클래스를 상속받아서 만듭니다

2- 3 앱 구성 파일 분석

 

#리소스 폴더 

 

  • drawable: 이미지 리소스
  •  layout: UI 구성에 필요한 XML 리소스
  •  mipmap: 앱 아이콘 이미지
  • values: 문자열 등의 값으로 이용되는 리소스
  • 리소스를 식별하기 위한 int형 변수가 R.java 파일에 등록
  •  res/layout/test.xml 파일이라면 R.layout.test라고 이용
  • res 하위의 폴더명은 지정된 폴더명을 사용해야 합니다.
  • 각 리소스 폴더에 다시 하위 폴더를 정의할 수는 없습니다.
  • 리소스 파일명은 자바의 이름 규칙을 위배할 수 없습니다.
  • 리소스 파일명에는 알파벳 대문자를 이용할 수 없습니다.

 

# 레이아웃 XML 파일 : 화면 구성하는 레이아웃 XML 파일

 

# 메인 액티비티 파일 

setContentView() 함수는 매개변수에 지정한 내용을 액티비티 화면에 출력

R.layout.activity_main으로 지정했으므로 res/layout/activity_main.xml 파일에 구성한 내용을 화면에 출력