[Lecture] 안드로이드 앱개발 1, 2주차

Minjun Kim·2023년 7월 31일
0
post-thumbnail

왜 안드로이드의 수요가 높을까?

  1. 오픈소스 = 무료
  2. 하드웨어 이식성 높음

플랫폼이란?

  • 기차역, 배민, 야놀자? ㄴㄴ

  • 기본적인 구성 요소
    예) 자동차 개발에서 차 프레임, 엔진, 변속기 등

01. 모바일 플랫폼이란?

앱 실행을 위한 모바일 운영체제 + 앱 개발을 위한 애플리케이션 프레임워크

= 모바일 플랫폼


Android Studio Toolbar

01. Resource Manager : 프로젝트에서 사용하는 이미지나 미디어를 한번에 확인

02. Build Variants : 빌드 종료 선택

03. Structure : 변수와 함수를 한눈에 확인

04. Profiler : 앱 분석 (CPU, 네트워크 사용량 등)

05. App Quality Insights : Firebase 연결해서 앱 품질 확인 (잘 안씀)

06. TODO : TODO 리스트 관리

07. App Inspection : 데이터베이스 확인

Android Studio HotKey

01. F11 : 북마크
	Shift + F11 : 북마크 확인

02. Ctrl + D : 한 줄 복사

Android Studio 프로젝트 구조


1. Gradle빌드 설정 파일

  • Gradle 은 안드로이드 앱의 빌드 도구

  • Gradle의 설정 파일 = build.gradle

  • build.gradle 파일은 2개가 존재한다.

  • 하나는 프로젝트 단위 빌드 설정

  • 하나는 모듈 단위 빌드 설정


이름설명
build.gradle빌드 설정 파일
AndroidManifest.xml앱의 메인 환경 파일
res리소스 폴더 (이미지, 미디어)
activity_main.xml레이아웃 XML 파일 (UI)
MainActivity.kt메인 액티비티 파일 (소스 코드)

01. 매니페스트 파일

  • 가장 기본적이고 가장 먼저 확인해야 되는 파일

  • 앱의 기본 특징을 설명하고, 앱의 구성요소인 컴포넌트 (액티비티, 서비스 등) 를 정의한 XML 파일
    ex) 화면의 개수, 각 화면의 역할

<application> 태그

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

컴포넌트 종류에 따른 태그

- 액티비티의 경우 <activity>

- 서비스의 경우 <service>

- 브로드 캐스트 수신기의 경우 <receiver> 요소

- 콘텐츠 제공자의 경우 <provider> 요소

<activity> 태그

  • name에 입력된 컴포넌트를 띄움

<intent-filter> 태그

  • 간단히 말해서 '연결 프로그램'
    예) mp3 파일 실행 시 해당 앱을 호출

02. 리소스 파일

  • 이미지, 문자열 등을 독립적으로 관리 -> 환경 변화에도 코드 변경 없이 수용 가능

리소스 폴더

- drawable : 이미지 리소스

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

- mipmap : 앱 아이콘 이미지

- values : 문자열 등의 값으로 이용되는 리소스

주의할 점

  • res 하위의 기본 폴더만 사용 가능 (새 폴더 불가)

  • 기본 폴더 안에 새 폴더 불가

  • 리소스 파일 명에 대문자 불가

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

03. aapt 도구

  • 리소스를 컴파일하여 컴파일 된 리소스 (R클래스와 패키지 된 리소스 파일) 을 생성

R.java

  • aapt도구에 의해 자동으로 생성 된 파일

  • R클래스는 리소스를 kotlin 프로그램에서 접근하기 위한 리소스 ID를 정의

  • 즉, 리소스 주소를 ID로 사용 (건들 수 없으니 알아만 두자)


빌드

1. 빌드 프로세스

소스 코드, 리소스 파일, AIDL 파일과 코드 작성 시 사용했던 라이브러리를 컴파일

-> 소스 코드는 DEX 파일로 컴파일
-> 리소스 파일은 Compiled Resources 파일로 컴파일

-> DEX File(s) + Compiled Resources + Debug or Release Keystore 를
   APK Packager 가 .zip로 묶고 확장자를 .apk로 변경
profile
응애 나 아기 뉴비

0개의 댓글