[Android] 애플리케이션 구조

Vantagac·2024년 10월 1일

Android

목록 보기
3/3
post-thumbnail

애플리케이션 개발 절차

코드 작성

  1. activity_main.xml: xml을 이용하여 화면을 우선 정적으로 설계

  2. MainActivity.java: xml로 설계된 화면의 각종 뷰를 제어하고 원하는 기능 구현

  3. AndroidManifest.xml: 앱을 실행할 때 안드로이드 OS에 요청해야 하는 앱 혹은 화면(Activity)과 관련된 설정

Build 한 후에 AVD나 스마트폰에서 앱을 실행


애플리케이션 구조

activity_main.xml

  • 안드로이드에서는 xml(eXtensible Markup - Language) 사용해 View를 정의함으로써 Activity의 UI를 디자인한다

  • 기본 문법

    • 대소문자를 구별하고 파일명은 소문자로 작성

    • Element: 시작 태그로 시작되어 종료 태그로 종료되는 논리적인 구성 요소로 대문자로 시작한다

    • Attribute: 요소의 속성으로써 "속성명 = 속성값"의 쌍으로 구성되며 소문자로 시작

    • namespace

      • xml 문서에서 유일한 속성명을 제공하기 위한 이름공간

      • 접두사별 속성을 사용하기 위해서는 해당 접두사의 namespace가 반드시 정의되어야 한다

    • Prefix(접두어)

      • xmlns:android: 안드로이드 기본 SDK에 포함되어 있는 속성을 사용

      • xmlns:app: 프로젝트에서 사용하는 외부 라이브러리에 포함되어 있는 속성을 사용

      • xmlns:tools: 안드로이드 스튜디오의 디자이너 도구 등에서 화면에 보여줄 때 사용

  • xml에서 다른 리소스를 참조하는 방식

    • @[패키지명]<resource_type>/<resource_name>
    • 같은 패키지에 있을 시 패키지명 생략 가능

MainActivity.java

  • onCreate()

    • 액티비티가 만들어질 때 onCreate()가 호출

    • super.onCreate()를 호출하여 Activity 클래스에 정의된 onCreate() 메소드의 기능을 사용

    • MainActivity를 제어한다는 것은 onCreate를 Overrinding하여 추가적으로 필요한 기능을 작성하는 것

    • 안드로이드에는 JAVA의 main()와는 다르게 진입점이 없이 액티비티 별로 실행된다

    • 하위 버전과 호환되는 AppCompatActivity를 상속받아 MainActivity를 정의한다

    • setContentView(R.layout.activity_main): 뷰를 인플레이팅하여 액티비티의 화면에 설정한다

  • 자바 코드에서 리소스를 식별하는 법

    • 자바 코드와 리소스는 철저하게 분리됨

    • xml로 정의된 수많은 리소스들은 개발 도구에 의하여 자동으로 생성되는 R.java에 빌드 시에 정적 변수로 선언된다

    • 이 정적 변수를 자바 코드에서 참조하여 인플레이션하는 것


애플리케이션 실행 단계

Android Studio

  • 안드로이드 앱의 코딩, 디버깅, 컴파일, 배포 등 모든 개발 과정을 지원하는 IDE

Builder

  • Gradle, Maver 등을 사용하여 컴파일 하고 모든 자바 소스 파일들을 하나의 앱으로 패키징하여 ART(Android Runtime)에서 실행될 수 있는 APK를 생성

ADB(Android Debug Bridge)

  • 개발 환경과 스마트폰을 연결하고 애플리케이션을 설치해 테스트 할 수 있도록 도와줌
profile
All knowledges lead to Me

0개의 댓글