Android application Basic

정현철·2023년 4월 16일
0

Android App

목록 보기
5/6
post-thumbnail

Android is

  • 구글이 만든 모바일 OS.
  • Linux kernel과 다른 오픈소스를 기반으로 만들어짐.
  • 스마트폰, 태블릿 등 touch screen devices용으로 설계됨. 이후에 TV, Android Auto(차량), Wear용도 추가.
  • 네이티브 app을 제작하는 언어로 Java나 Kotlin을 사용.

Activity

Android Docs - Activity
안드로이드의 4대 컴포넌트는 Activity, Service, BroadCast Receiver, Content Provider이다. 즉, Activity는 안드로이드 앱을 구성하는 아주 중요한 요소 중 하나이다.

기본적으로 activity는 "Basic unit of andorid apps"이며, 고로 Android app이란 sequence of activity라고 말할 수 있다. 쉽게 생각해서 activity란 "하나의 화면"인데, 이름 그대로 사용자가 어떠한 "활동"을 할 때 실행되는 컴포넌트로, UI를 제공하여 사용자와 상호작용을 직접 하는 컴포넌트다.

  • 각자 서로 다른 Activity인 것.

실제로 카카오톡에서 메일 주소를 눌러 Gmail의 메일 쓰기로 이동한다면, 카카오톡에서 해당 채팅방을 보여주는 activity가 Gmail의 메일 쓰기 activity를 호출하는 것으로 이해하면 된다. Gmail이라는 앱을 통으로 불러오는 것이 아니라, 해당 동작에서는 그 activity만을 호출하게 되는 것이다.

Intent

안드로이드의 컴포넌트 간 통신에서 정보 전달을 담당하는 객체. 예를 들어, activity를 전환할 때 사용할 수 있다.

val intent = Intent(this, SubActivity::class.java)
startActivity(intent)

Context

하나의 App 환경에서 돌아가는 Global state 정보나 현재 상태 등을 저장하는 object.

Gradle

오픈 소스 build automation tool로, 만든 App의 버전이나 오픈 소스로 사용하고 있는 api의 버전 관리 등을 담당한다.

Manifest

AndroidManifest.xml이라는 파일에 정의된 것으로, 안드로이드 빌드 도구, 운영체제 및 google play 앱에 관한 필수 정보를 여기 담아둔다.

  • 모든 컴포넌트를 여기 선언해야 한다. 모든 activity, service, broadcast receiver, content provider 싹 다 여기 적어놓아야 한다.
  • 시스템이나 다른 앱이 보호하고 있는 기능에 엑세스하기 위해 필요한 권한을 선언해야 한다.(Browser, Camera 등)
  • App에 필요한 하드웨어 및 소프트웨어 features를 명시해야 한다. 이에 따라 Google play에서 설치할 수 있는 기기/없는 기기가 나누어지는 것.

0개의 댓글