Android OS는 구글에서 개발한 스마트폰용 운영체제로, 여러 기능을 통합하여 사용자가 쉽게 접근할 수 있도록 만들어져 있다. 이를 통해, 사용자는 전화, 메시지, 인터넷, 음악, 미디어, 앱 등 다양한 서비스를 이용할 수 있다.
Android OS는 리눅스 기반으로 제작되었으며, 자바와 코틀린으로 앱을 개발할 수 있는 기능을 제공하며 다양한 안드로이드 시스템 구성 요소에서 사용되는 C/C++ 라이브러리들을 포함하고 있다.
Android SDK를 통해 개발할 수 있는 도구와 API가 제공되고있고, 자바와 코틀린으로 작성된 앱은 Android Runtime을 통해 별도의 프로세스에서 실행된다. 이를 통해, 안정적이고 효율적인 앱을 만들 수 있도록 도와주고 있다.
안드로이드의 특징 6가지
자바기반 : 안드로이드는 자바 언어를 사용하여 개발할 수 있으므로 많은 개발자들이 쉽게 접근할 수 있습니다.
오픈소스 : 안드로이드는 오픈소스 소프트웨어로서 누구나 소스코드를 수정하거나 공유할 수 있습니다.
완벽한 컴포넌트 : 안드로이드는 스마트폰을 위한 핵심적인 커널부터 다양한 애플리케이션까지 제공합니다. 따라서 개발자들은 제공된 컴포넌트들을 활용하여 앱을 만들기만 하면 됩니다.
높은 점유율 : 안드로이드는 전 세계 스마트폰 시장의 80% 이상을 차지하고 있으며 Windows보다도 더 많은 기기에서 사용되고 있습니다.
높은 이식성 : 안드로이드는 리눅스를 기반으로 하여 새로운 하드웨어에 쉽게 적용할 수 있습니다. 모바일뿐만 아니라 태블릿, PMP, 가전기기, 자동차 등에도 사용될 수 있습니다.
쉬운연동 : 안드로이드는 다른 앱에서 제공하는 기능을 쉽게 사용할 수 있도록 만들어져 있습니다. 예를 들어 사진을 찍기 위해 카메라 앱을 연동하면 카메라 미리보기 화면을 직접 만들지 않아도 됩니다.
안드로이드 4대 구성요소
안드로이드 4대 구성요소 (출처 - 링크)
액티비티 (Activity) : 안드로이드에서 사용자와 상호작용하는 화면을 담당하는 컴포넌트입니다. 예를 들어 메일 앱에서 메일 목록을 보여주는 화면과 메일 내용을 보여주는 화면은 각각 다른 액티비티입니다. 하나의 앱은 여러 개의 액티비티를 가질 수 있으며 인텐트 (Intent) 라는 메시지 객체를 통해 다른 액티비티를 호출하거나 결과를 받을 수 있습니다.
서비스 (Service) : 안드로이드에서 백그라운드에서 실행되는 작업을 담당하는 컴포넌트입니다. 예를 들어 음악 재생이나 네트워크 통신과 같은 작업은 서비스로 구현할 수 있습니다. 서비스는 사용자와 직접적으로 상호작용하지 않으며 다른 컴포넌트에 의해 시작되거나 중지될 수 있습니다.
콘텐츠 제공자 (Content Provider) : 안드로이드에서 데이터를 관리하고 공유하는 컴포넌트입니다. 예를 들어 연락처, 사진, 캘린더 등의 데이터는 콘텐츠 제공자를 통해 다른 앱과 공유할 수 있습니다. 콘텐츠 제공자는 URI (Uniform Resource Identifier) 라는 식별자를 통해 데이터에 접근하거나 수정할 수 있으며 SQL과 유사한 쿼리 언어를 사용할 수 있습니다.
방송 수신자 (Broadcast Receiver) : 안드로이드에서 시스템이나 다른 앱으로부터 발생하는 이벤트를 받아 처리하는 컴포넌트입니다. 예를 들어 배터리 부족, 네트워크 변경, 부팅 완료 등의 이벤트는 방송 수신자로 전달됩니다. 방송 수신자는 인텐트 필터 (Intent Filter) 라는 조건을 통해 원하는 이벤트만 받을 수 있으며 다른 컴포넌트를 호출하거나 알림을 보낼 수 있습니다.