본문 바로가기
android

안드로이드(android) 앱개발의 특징 - 컴포넌트, 리소스

by hello_world.cpp 2022. 2. 12.
728x90
반응형

 

 

 

키워드

  • 컴포넌트
  • 리소스

 

컴포넌트를 기반으로 한 개발

안드로이드 앱개발의 핵심! 컴포넌트

  • 컴포넌트 = 애플리케이션을 구성하는 단위
  • 컴포넌트 ≠ 애플리케이션
  • 하나의 애플리케이션은 여러 컴포넌트로 구성되어 있다
  • 안드로이드에서는 클래스로 컴포넌트를 개발한다
  • 하나의 클래스 = 하나의 컴포넌트

 

안드로이드 앱을 구성하는 클래스는 모두 컴포넌트인가?

  • 앱은 여러 클래스로 구분되는데 크게 두가지로 구분된다
    • 컴포넌트 클래스 : 개발자가 만들기는 했지만 생명주기를 안드로이드 시스템에서 관리한다
    • 일반 클래스 : 클래스의 객체 생성부터 소멸까지 생명주기 관리를 개발자 코드에서 한다

 

안드로이드 컴포넌트는 4종류

  • 액티비티
    • 화면을 구성하는 컴포넌트
    • 앱의 화면을 안드로이드 폰에 출력
    • 앱이 실행되면 액티비티에서 출력한 내용이 안드로이드 폰에 나온다
  • 서비스
    • 백그라운드 작업을 하는 컴포넌트
    • 화면 출력기능 x
    • 서비스가 실행되더라도 화면에는 출력되지는 않음
  • 콘텐츠 프로바이더
    • 앱의 데이터를 공유하는 컴포넌트
    • 하나의 앱이 자신의 데이터를 다른 앱에 공유하려면 콘텐츠 프로바이더를 만들어야함
    • ex .카카오톡에서 프로필 화면 지정할때 → 카카오톡 ↔ 갤러리
    • 이런식으로 데이터를 주고받을 때 콘텐츠 프로바이더를 사용함
  • 브로드캐스트 리시버
    • 시스템 이벤트가 발생할때 실행되게 하는 컴포넌트
    • 이벤트 화면에서 발생하는 사용자 이벤트가 아니라
    • 시스템에서 발생하는 특정상황을 의미함
    • ex. 부팅 완료, 배터리 방전

 

컴포넌트는 앱 안에서 독립된 실행 단위다

  • 컴포넌트는 애플리케이션 안에서 독립된 실행 단위라는 중요한 특징!
  • 컴포넌트끼리 서로 종속되지 않아서 코드 결합이 발생하지 않는다.

 

앱 실행 시점이 다양하다

  • 컴포넌트가 앱 내에서 독립해서 실행되는 특징 덕분에 앱의 실행 시점이 다양할 수 있다.
  • 그래서 안드로이드 앱은 메인 함수 개념이 없다고 표현한다

 

 

 

리소스를 활용한 개발

안드로이드 앱 개발의 또 다른 특징! 리소스를 많이 활용한다

 

리소스 : 코드에서 정적인 값을 분리한 것

  • 앱에서 발생하는 데이터나 사용자 이벤트에 따른 동적인 값이 아니라 항상 똑같은 값이라면 굳이 코드에 담지 않고 분리해서 개발하는 것 → 이렇게 하면 코드가 짧아져서 개발 생산성과 유지, 보수성이 좋아진다
  • 안드로이드 앱을 개발할 때는 많은 요소를 리소스로 등록해서 사용한다!!
  • 문자열, 색상, 크기, 레이아웃, 이미지, 메뉴 등 많은 요소를 리소스로 활용할 수 있다.
  • 이미지등 몇몇을 제외하면 대부분 리소스는 XML 파일로 작성할 수 있다.

 

 

 

    •  
728x90
반응형

댓글