안드로이드 프로젝트 : 하나의 앱을 개발하기 위해 IDE(Android Studio) 내에 구성하는 작업 공간
MainActivity.java의 Activity가 앱의 시작점이 됨
Activity - 안드로이드 앱에서 하나의 화면을 표현하기 위한 구성요소 - 실행 부분(Java)과 데이터 부분(XML)으로 구분됨 - 실행 부분과 데이터 부분의 연결은 R.java가 담당하고 있음
string.xml(문자열)과 Activity_main.xml(레이아웃)에 있는 내용이 먼저 R.java에 등록이 된 후에 이를 참조하여 MainActivity.java에서 수행을 하게 됨
안드로이드 프로젝트의 구성요소
activity_main.xml - 화면의 구조를 표현하는 레이아웃이 기술됨 - android:text 속성 : string/app_name 값이 strings.xml에서 정의된 app_name이라는 이름의 문자열 ID로 대체된다는 의미 - 문자열의 정보는 R.java 파일에 저장 - 실제 문자열 내용은 string.xml에 저장
strings.xml - 문자열은 관리의 편의성을 위해 XML 파일에 따로 저장됨 - 기본적으로 문자열이 저장되는 XML 파일은 strings.xml 파일
R.java(R.jar / R.class) - 안드로이드 앱이 사용하는 자원을 참조하기 위해 사용되는 ID가 정의된 클래스 R을 포함 - 개발자가 임의로 R.java 파일의 내용을 변경해서는 ❌
MainActivity.java - Activity 클래스를 상속 받아 새로운 Activity를 생성 - 사용자가 발생시키는 이벤트에 반응하여 새로운 Activity(화면)을 생성하거나 사용자의 요구 사항을 만족시키는 동적 작업을 수행
AndroidManifest.xml - 앱의 구성 정보를 담고 있는 파일
XML 레이아웃의 장점 - Java 코드 개발자 역할과 화면 설계 레이아웃 디자이너의 역할이 분담되어 개발이 가능 → 개발 난이도를 낮춤 - 레이아웃 코드가 직관적이며 수정 및 관리가 매우 용이 - 다양한 스마트폰의 크기와 특성에 따라 레이아웃의 유지 보수가 용이 - 전체적인 변경이 필요한 경우 편리
안드로이드 앱
앱의 실행 과정 1️⃣개발자가 작성한 Java 코드는 Java 컴파일러에 의해 Java 바이트 코드로 컴파일됨 2️⃣Dalvik이라는 가상 머신에서 Java 바이트 코드를 실행(.dex 파일로의 변환) 3️⃣변환된 .dex 파일 + 리소스 파일 → 설치할 수 있는 .apk 파일로 만들어짐
앱을 스마트폰에 배포하는 과정 - 배포 및 설치를 위한 apk 파일의 생성은 AAPT라는 개발도구를 이용(패키징 과정) - .apk 파일 생성 시 패키징 항목 ✅컴파일되지 않은 리소스 파일(이미지, 아이콘) ✅.dex 파일 ✅resources.arsc 파일(컴파일된 리소스 파일) ✅AndroidManifest.xml 파일(안드로이드 앱의 설정환경 정의) - 이후 서명 Key를 통해 .apk 파일에 서명 작업을 진행 → 타인에 의한 위변조를 방지하며 해당 Key 값은 안드로이드 앱 업데이트에서 개발자 식별에 사용됨 - 구글 플레이 스토어에 업로드 수행