본문 바로가기

앱 개발/안드로이드

01_Hello World 출력하기

이번에는 Hello World 출력하기를 해볼 것이다.

 

 

당연하게도, 맨 처음에는 환경을 설정해주어야 한다.

Andriod Studio를 실행하여 New Project로 들어가면 아래와 같은 첫 화면이 나온다.

안드로이드 프로젝트 생성1
안드로이드 스튜디오 실행 후 New Project 선택 시 나오는 첫 화면이다.

빠르게 생성하기 위해 Empty Activity를 설정한 후, Next를 눌러 다음 세부항목을 설정한다.

 

 


다음 단계에는 프로젝트 이름 등을 설정하는 화면이다.

프로젝트의 세부 내역을 설정할 수 있다.

차근차근 보면  Name은 그냥 이름 정도라고 생각하면 된다. 예를 들면 facebook이나 minecraft 같은 것들이다.

 

Package Name은 이제 플레이스토어에 올라가는 진짜 이름이라고 생각하면 된다.

가끔 Andriod 폴더 안을 뒤져보면 .Android > data 안에 com.facebook.katrina 나 com.mojang.minecraft같은 폴더들이 있는데, 이에 해당한다고 보면 된다.

당연히 고유한 이름이기에 특색있게 설정하면 된다.

 

Save location은 실제 빌딩하고 있는 컴퓨터에 저장할 위치를 정하는 것이다.

 

Language는 코딩 언어를 말하는데, Java와 Kotlin중 하나를 고르면 된다.

아직도 많은 개발자들이 Java를 사용 중이지만 Kotlin은 구글쪽에서 미는 언어로서 Kotlin도 알아두면 매우 좋다.

Kotlin기반에 Kotlin이 커버 못하는 것은 Java로 구현하는 방법을 많이 선택한다.

 

Minimum SDK는 이 애플리케이션이 동작하는 최소 안드로이드 버전을 선택하는 것이다.

너무 낮은 버전까지 선택하면 호환이 힘들겠지만 최소한 안드로이드 6.0까지 지원하는 것으로 설정한 경우가 많다.

 

알맞게 설정했으면 Finish를 눌러 종료하면 된다.

 

 


프로젝트를 생성하면 activity_main.xmlMainActivity.java라는 창이 생긴다. 각 종류 별로 살펴보면

activity_main.xml : 내가 보면 애플리케이션 화면 구성(UI)

MainActivity.java : 프로그램 구동

이 있다.

 

Hello World!!는 단순히 애플리케이션 내 글자를 띄우면 되는 것이므로 이번에는 activity_main.xml만 건드릴 것이다.

 


Android Studio의 보기모드는 크게 세 가지가 있다.

 

Code, Split, Design

 

Code모드는 ".xml파일의 코드만 보는 모드"이다.

Split모드는 ".xml파일의 코드 및 이미지 구성을 같이 보는 모드"이다.

Design모드는 ".xml파일의 이미지 구성만을 보는 모드"이다.

 

보통 코드와 코드의 변화를 같이 보기 위해 Split모드를 많이 사용한다.

 

activity_main.xml의 코드는 보통 아래와 같이 되어 있다.

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

 

Andriod Studio의 Layout은 종류가 많지만 메인 레이아웃으로는 아래 두 가지를 사용한다.

 

Linear Layout, Relative Layout

 

하지만 여기서는 그닥 중요하지 않기 때문에 Layout 관련된 내용은 다음 게시물에서 좀 더 자세히 다루겠다.

 

 

TextView안의 내용을 다루겠다.

TextView는 쉽게 말하면 글상자와 같다. 이 글상자에 여러 옵션들을 추가할 수 있는데, 아래에서 그것을 보겠다.

 

1. 글상자 배경색 설정

android:background="@android:color/holo_blue_light"

큰 따옴표 안이 이제 들어갈 색깔을 설정하는 것인데, 형식은 위와 같이

andriod:background="들어갈 색깔"

로 설정한다.

 

2. 글상자 내용 설정

android:text="Hello World!"

큰 따옴표 안이 출력할 내용이다. 형식은 위와 같이

android:text="출력할 내용"

이다.

 

3. 글상자 내 글자 크기 설정

andriod:textSize="15sp"

큰 따옴표 안이 글자 사이즈이고 형식은 위와 같이

android:textSize="(글자사이즈숫자)(글자사이즈단위)"

이다.

다만 여기서 짚고 넘어가야 할 점은 글자 사이즈 단위 이다.

    § 글자 사이즈 단위

        글자 사이즈 단위에는 크게 6가지가 있다.

        1. dp (Density-independent Pixels / 밀도 독립적 픽셀)

            - 글자 크기가 절대적으로 지정된 것이 아는 출력 디스플레이의 크기에 따라 상대적으로 결정된다.

            - 글자보다는 주로 위젯 등에 많이 사용한다.

        2. in (inch / 인치)

            - 물리적인 크기이며 고정값이다.

        3. mm (milimeter / 밀리미터)

            - 물리적인 크기이며 고정값이다.

        4. pt (point / 포인트)

            - 흔히 말하는 글자 포인트의 포인트로 고정값이다.

        5. px (pixel / 픽셀)

            - 스마트폰 광고에서 자주 나오는 픽셀을 의미하며 고정값이다.

        6. sp

            - dp와 같은 성질을 가지지만 주로 글자에 사용하는 단위이다.

여기에 덧붙여 화면 밀도 에 대해 잠시 알아보자면

    § 화면 밀도 (DPI; Dots Per Inch)

영어명 한글명 기준
ldpi 저밀도 ~120dpi
mdpi 중간 밀도 ~160dpi
hdpi 고밀도 ~240dpi
xhdpi 초고밀도 ~320dpi
xxhdpi 초초고밀도 ~480dpi
xxxhdpi 초초초고밀도 ~640dpi

으로 구성된다. 추가적으로 안드로이드에서 인식하는 화면의 종류를 알아보자.

    § 안드로이드가 인식하는 화면의 종류

화면 종류 규격
초대형 min 960 x 720
대형 min 640 x 480
보통 min 470 x 320
소형 min 426 x 320

 

4. 글상자 내 글자 스타일 설정

android:textStyle="bold"

큰 따옴표 안이 글자 스타일이고 형식은

android:textStyle="글자형식"

이다.

글자 형식으로는 bold(굵게), italic(기울임꼴), normal(일반)이 있다.

사실상 normal은 작성하지 않아도 기본 적용이기 때문에 보통 굵게 하거나 기울일 때 사용한다.

 

5. 글상자 크기 설정

android:layout_width="wrap_content"
android:layout_height="match constraint"

큰 따옴표 안이 글상자 크기 규격이고 형식은

android:layout_(width 또는 height)="크기규격 또는 크기값"

이다.

width는 넓이, height는 높이를 나타내고, 큰 따옴표안에 들어가는 종류는 크게 3가지 이다.

    ▶ wrap_content : 말 그대로 랩으로 싼다는 개념으로 가장 많이 사용하며 유기적으로 대응한다.

    ▶ match constraint(0dp) : 맞추는 건데 보안상(?)의 이유로 Arctic Fox버전부터는 설정 권고하지 않는다고 나온다.

    ▶ 숫자로 입력(40dp) : 위에서 설명한 dp 단위로 직접 크기를 설정하는 것이다.

 

6. 글상자 내 글자 위치 및 글상자 위치 설정

android:gravity="center"

큰 따옴표 안이 글상자 내 글자 위치이고 형식은

android:gravity="글상자 내 글자 위치"

이다.

이와 비슷한 것으로 layout_gravity가 있는데 이것은 상위 레이아웃에서의 하위 레이아웃 위치를 지정할 때 사용한다.

코드는

android:layout_gravity="center"

이고 형식은

android:layout_gravity="글상자 위치"

이다.

 

 

 


 

 

이를 정리하여 Hello World!!를 출력한다.

먼저, 코드는 아래와 같다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <TextView
        android:id="@+id/Text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="start|bottom"
        android:background="@android:color/holo_blue_bright"
        android:gravity="center"
        android:text="Hello World!"
        android:textColor="@android:color/black"
        android:textSize="15sp"
        android:textStyle="bold" />

</LinearLayout>

AVD(Android Virtual Device)로 실행한 결과는 아래 사진과 같다.

위 코드를 AVD로 실행한 결과

▣ AVD 설정값
안드로이드 버전 : 12.0 (API 31) (x86_64)
대상 기종 : Pixel 4

 

다음 게시물로는 "화면 그리기, 레이아웃"을 정리하겠다.

 

▼ 이전글

2021.12.28 - [앱 개발/안드로이드] - 00_Android Studio 설치하기

 

00_Android Studio 설치하기

안드로이드 개발이라고 하면 기본적으로 Eclipse를 떠올리기 쉽다. 당연스럽게도, Android가 최근에 와서 Kotlin을 공식 언어로 채택했고, 그 전에는 Java를 사용했기 때문이다. 그렇지만 Android Studio는

hycee-19-story.tistory.com

 

▼ 다음글

2021.12.29 - [앱 개발/안드로이드] - 02_화면그리기, 레이아웃

 

02_화면그리기, 레이아웃

이번에는 화면그리기 및 레이아웃을 살펴보도록 하겠다. Andriod Studio에서 많이 사용하는 레이아웃은 크게 5가지가 있다. ConstriantLayout, LinearLayout, TableLayout, GirdLayout, RelativeLayout 이 중에서..

hycee-19-story.tistory.com