본문 바로가기
전공공부/모바일 프로그래밍

애플리케이션 기본 구조

by 시아나 2021. 4. 9.

1. 앱 작성 절차

1) 안드로이드 앱 구성

안드로이드 앱은 자바파일과 XML 파일, 기타 이미지나 사운드 파일로 이루어집니다.

자바 파일은 앱의 로직을 나타내고 XML 파일은 사용자 인터페이스를 나타냅니다.

또한 이미지나 사운드 파일은 resource(자원)에 속합니다.

안드로이드 앱 구성

 

2) 앱 작성 절차

 1. 사용자 인터페이스 작성
- 첫번째 단계는 XML 을 이용하여 사용자 인터페이스 화면을 디자인 하는 단계입니다.

 

XML 작성 화면

 

2. 자바 코드 작성 

- 두 번째 단계는 자바를 이용하여서 코드를 작성하는 단계입니다.

 

자바 코드 작성 화면

 

 3. 매니페스트 파일 작성

 - 매니페스트 작성은 애플리케이션을 구성하고 있는 컴포넌트를 기술하고 실행 시에 필요한 권한을 지정하는 것입니다.

 

매니페스트 작성 화면

 

3) 안드로이드 스튜디오 화면 분석

안드로이드 스튜디오 화면 분석

1. 프로젝트 뷰 : 화면의 왼쪽을 차지하는 프로젝트 뷰에는 애플리케이션을 생성하는 데 필요한 모든 폴더와 파일들이 있습니다. 그 예시로는 java, Gradle, res, manifest가 있습니다.

 

2. 코드 뷰 : 자바 코드나 xml과 같은 실질적으로 코딩하는 부분이 있는 부분이 화면의 왼쪽을 차지하고 있습니다.

 

3. 도구들 : Build, Logcat 등 안드로이드 스튜디오에서 사용가능한 도구를 사용할 수 있습니다.

 

4) 자동으로 생성되는 소스 관찰

아래는 애플리케이션을 새로 만들면 생성되는 MainActivity.java의 코드입니다.

 

package com.example.listtest;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

 

이 코드에 설명을 붙이면 아래와 같습니다.

 

자동으로 생성되는 자바코드 설명

package com.example.listtest;

 

패키지는 서로 관련 있는 클래스들을 모아둔 컨테이너입니다. 위의 문장은 패키지를 하나 생성하여 현재의 클래스를 이 패키지에 넣겠다는 의미입니다. 처음 애플리케이션을 생성하면 패키지 이름은 com.example.(앱이름)이 됩니다.

 

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

 

import 문장은 외부의 패키지나 클래스를 소스에 포함시킬 때 사용합니다.

앞에 android가 붙는 것은 안드로이드가 제공하는 패키지를 의미합니다.

 

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

 

MainActivity는 Activity의 자식 클래스인 AppCompatActivity를 상속받습니다.

그리고 AppCompatActivity의 onCreate를 재정의 하여 onCreate 함수를 만듭니다.

MainActivity의 onCreate함수 안에서는 부모 class의 onCreate 함수를 호출하고 MainActivity.java 파일과 activity_main.xml 파일을 연결 시켜줍니다.

 

5) XML

<?xml version="1.0" encoding="utf-8"?>

 

 

해당 코드는 이 문서가 XML 파일임을 알려주는 코드입니다.

버전이 1.0이고 엔코딩이 유니코드 임을 알려줍니다.

 

6) 메티페스트 파일

메니페스트 파일은 애플리케이션이 적재된 모든 컴포넌트에 대해 기술하는 파일입니다.

주로 애플리케이션을 구성하는 컴포넌트를 선언하는 역할을 합니다.

 

 

<manifest> ... </manifest>

 

위 태그로 애플리케이션 안에 적재된 목록을 시작합니다. 해당 태그의 속성으로 패키지 이름, 버전코드, 버전 이름 등이 선언되어있습니다.

 

<application>...</application>

 

해당 요소는 내가 생성한 애플리케이션에 해당하는 내용이 들어있습니다.

요소 안에는 애플리케이션의 아이콘, 레이블 등이 속성으로 선언되어 있습니다.

 

<activity>...</activity>

 

해당 요소는 나의 액티비티를 의미합니다. 해당 요소의 속성으로는 이름과 레이블이 선언되어 있습니다.

 

<intent-filter>...</intent-filter>

 

해당 요소는 어떤 인텐트를 허용할 것인지를 기술하는 요소입니다.

인텐트란 액티비티와 액티비티 사이를 연결해주는 중간 데이터를 의미합니다.

'전공공부 > 모바일 프로그래밍' 카테고리의 다른 글

looper  (0) 2021.08.31
23일차  (0) 2021.07.28
국가근로 18일차  (0) 2021.07.21
Android Studio EditText이 비어있는지 확인하기  (0) 2021.04.27
안드로이드 프로그래밍 기초사항  (1) 2021.04.08