Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

브래의 슬기로운 코딩 생활

안드로이드 프로그래밍 1주차 정리 - 안드로이드 프로그래밍 개요 본문

3-1/안드로이드 프로그래밍

안드로이드 프로그래밍 1주차 정리 - 안드로이드 프로그래밍 개요

김브래 2024. 3. 5. 18:05

강의계획



스마트폰의 개요


스마트폰

▪ 통화 기능 + 컴퓨터 + 다양한 기능 내장(MP3, 카메라, DMB, GPS 등).

스마트폰의 역사

▪ 1992년 IBM사의 사이먼 (최초)
▪ 1996년 노키아 9000
▪ 2002년 마이크로소프트 포켓PC
▪ 2007년 아이폰
▪ 2008년 안드로이드 폰
▪ 2010년 윈도폰7

스마트폰의 운영체제

▪ 2021년 2분기 기준 세계시장 점유율
• 안드로이드: 72%, 아이폰: 26%, 윈도폰: 0.01%


안드로이드


안드로이드의 주요 기능

▪ 애플리케이션 프레임워크를 통해서 제공되는 API를 사용함으로써 코드를 재사용하여 

효율적이고 빠른 애플리케이션 개발 가능함

▪ 모바일 기기에 최적화된 달빅 또는 아트런타임(ART) 제공함
▪ 2D 그래픽 및 삼차원 그래픽을 최적화하여 표현함
▪ 모바일용 데이터베이스인 SQLite를 제공함
▪ 각종 오디오, 비디오 및 이미지 형식을 지원함
▪ 모바일 기기에 내장된 각종 하드웨어(블루투스, 카메라, 나침반, WiFi 등) 지원함
▪ 이클립스 IDE 또는 Android Studio를 통해서 강력하고 빠른 개발 환경 제공함

 

안드로이드의 특징

① 안드로이드의 핵심 커널(Kernel) : 리눅스(Linux)로 구성되어 있음
② 안드로이드 애플리케이션 개발 언어 : Java
③ 안드로이드 SDK에서 많은 라이브러리를 포함하고 있어 개발이 용이함
④ 오픈 소스를 지향함
⑤ 지속적이고 빠른 업그레이드를 제공함

안드로이드의 구조

- ① 응용 프로그램(Applications)

 

• 안드로이드 스마트폰에서 사용할 수 있는 일반적인 응용 프로그램
• 웹 브라우저, 달력, 구글맵, 연락처, 게임 등 사용자 입장에서 가장 많이 사용함
• Java로 작성됨


- ② 응용 프로그램 프레임워크(Application Framework)

 

• 안드로이드 API가 존재하는 곳
• 안드로이드폰 하드웨어에 접근할 때 API를 통해서만 가능함

 

- ③ 안드로이드 런타임(Android Runtime)


• Java 코어 라이브러리와 달빅 가상 머신(Dalvik Virtual Machine) 또는 아트 런타임(ART Runtime)으로 구성됨
• 안드로이드는 Java 문법으로 프로그래밍하지만 Java 가상 머신을 사용하지 않고 이곳의 

달빅 가상 머신이나 아트런타임을 사용함


- ④ 라이브러리(Libraries)
• 안드로이드에서 사용되는 여러 시스템 라이브러리는 시스템 접근 때문에 Java가 아닌

C로 작성 성능이 뛰어나며 세밀한 조작 가능함


- ⑤ 리눅스 커널(Linux Kernel)


• 하드웨어의 운영과 관련된 저수준의 관리 기능이 들어있음
– 메모리 관리, 디바이스 드라이버, 보안 등
• 많은 스마트폰 장치를 지원함
– 카메라, 터치스크린, GPS, 자이로스코프 등


안드로이드 개발을 위한 운영체제


▪ Windows, Linux, Mac
▪ Windows 개발 환경이 가장 보편적
▪ 안드로이드 개발 환경을 구축하면 가상의 안드로이드 장치인 AVD(Android 
Virtual Device) 제공
▪ 실제 안드로이드 장비 없이도 안드로이드 장비가 있는 것처럼 작업 가능
▪ Android Studio Dolphin (2021.3.1) 버전은 Windows 운영체제의 64bit만 설치할
수 있으며 32bit Windows는 지원하지 않음


안드로이드 개발 환경의 구성