외로운 Nova의 작업실

안드로이드 앱 프로그래밍 - 2(안드로이드 앱 개발의 특징) 본문

Programming/Kotlin - Android

안드로이드 앱 프로그래밍 - 2(안드로이드 앱 개발의 특징)

Nova_ 2023. 1. 4. 10:16

- 안드로이드 컴포넌트

안드로이드의 내장 클래스 즉, 컴포넌트는 4가지로 다음과 같습니다.

  • 액티비티(Activity) : 화면을 구성하는 컴포넌트로 앱의 화면을 안드로이드폰에 출력하려면 액티비티를 만들어야하며, 앱이 실행되면 액티비티에서 출력한 내용이 안드로이드폰에 나옵니다.
  • 서비스(service) : 백그라운드 작업을 하는 컴포넌트로 화면 출력 기능이 없으므로 서비스가 실행되더라도 화면에는 출력되지않습니다. 서비스 컴포넌트는 화면과 상관없이 백그라운드에서 장시간 실행해야할 업무를 담당합니다.
  • 콘텐츠 프로바이더(ContentProvider) : 앱의 데이터를 공유하는 컴포넌트로 앱간에 데이터를 공유할 수 있습니다. 하나의 앱이 자신의 데이터를 다른 앱에 공유하려면 콘텐츠 프로바이더를 만들어야하며 다른앱에서는 그 콘텐츠 프로바이더를 통해 데이터에 접근합니다. 예를 들어 카카오톡에서 카메라를 이용할 수 있는 것과 같습니다.
  • 브로드캐스트 리시버(BroadcastReceiver) : 시스템 이벤트가 발생할때 실행되게 하는 컴포넌트입니다. 여기서 이벤트는 시스템에서 발생하는 특정 상황으로 부팅완료, 배터리 방전과 같은 상황을 의미합니다.

- 리소스

앱에서 발생하는 정적인 데이터는 코드에 담지않고 리소스라는 곳 아래에 저장되어 사용됩니다. 아래는 리소스 폴더의 종류입니다.

drawable : 이미지리소스

layout : ui 구성에 필요한 xml 리소스

mipmap : 앱 아이콘 이미지

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

 

- 메인 엑티비티 파일 분석해보기

 

package com.example.androidlab

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

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}

class MainActivity : AppCompatActivity() : 액티비티 컴포넌트를 상속받는 MainActivity 클래스를 생성합니다. 이 MainActivity 클래스가 실행되면 onCreat()함수가 자동으로 호출되며 setContentView() 함수를 실행합니다. 이 함수는 매개변수에 지정한 내용을 액티비티 화면에 출력합니다.

Comments