안드로이드 정리노트 #1 안드로이드의 특징
(Android Characteristic)
@안드로이드란?
-구글에서 만든 스마트폰 운영체제
-다양한 어플리케이션을 실행할 수 있도록 구성된 앱 플랫폼
@특징
- 자바 개발 언어이다.(17년 이후 코틀린 또한 개발언어로 공식인정했다. -- 상세링크: http://markim94.tistory.com/86)
- 오픈소스
- 앱 간 연동이 쉬움
- 리눅스를 기반으로 하여 하드웨어 기능 쉽게 연동가능
- 스마트폰을 위한 완벽한 컴포넌트 제공(스마트폰은 제공된 소스를 통해 만들 수 있으므로 개발자는 스마트폰 위에 작동하는 앱만 만들면 됨)
- 자바의 고질적인 느린 성능 문제 --> ART런타임으로 해결함
- 뷰(뷰그룹)를 계속해서 상속하여 앱을 확장시킬 수 있음(컴포지트 패턴)
- 이미지 로딩방법으로 병렬 리소스 방식을 사용하고 있음.(hdpi - 고해상도, mdpi - 중간해상도..)
@안드로이드 시장점유율이 높은 이유는?
- 에코시스템을 구성했기 때문. 이통사와 단말제조사, SW개발사가 하나의 생태계를 꾸린 것을 에코시스템이라 함. 에코시스템이 구성된 이유는 모두 win-win하는 수익체계를 갖추었기 때문이다. SW개발사는 앱을 만들어 광고수익을 얻고, 개발사가 출시한 다양한 앱을 설치할 수 있는 매력에 안드로이드 단말을 구입하는 소비자가 많아지면서 자연스레 단말제조사가 호황이다. 더불어 이동통신사도 이동통신망 이용비를 수익으로 얻을 수 있음.
@안드로이드 앱 빌드과정까지..
- 안드로이드 스튜디오는 gradle이라는 자동화 도구를 통해 빌드과정이 자동화 되어있다. 작성한 소스코드는 자바에서 빌드(컴파일)되고 이어서 바이트 코드로 변환 및 패키징 과정을 거친다. 패키징 과정에서는 apk가 sign된다. 패키징 된 프로그램은 ART런타임으로 들어간다.
'▶개발 > Android' 카테고리의 다른 글
[Android] 안드로이드 뷰 정렬(Gravity) (0) | 2018.10.02 |
---|---|
[Android] 안드로이드 레이아웃:Constraint Layout (0) | 2018.10.02 |
[안드로이드] 어플리케이션 이름, 아이콘 설정하기 (0) | 2018.09.26 |
[안드로이드]액션바(타이틀바), 상태바 없애기 (0) | 2018.09.25 |
[안드로이드]DrawerLayout(슬라이드메뉴) 구현하기 (2) | 2018.09.24 |