[Android]
1. 자바 기반
- 안드로이드 개발 언어 : 자바, 코틀린
2. 오픈 소스
- 안드로이드는 오픈소스 기반이며 아파치 2.0 라이센스 를 사용한다.
3. 완벽한 컴포넌트
- 개발자가 제공된 소스를 사용하면 스마트폰 플랫폼이 그대로 만들어지므로 그 위에 올라가는 앱만 만들면 된다.
4. 높은 점유율
5. 높은 이식성
- 리눅스 기반으로 높은 이식성을 가지고 있으며 새로운 하드웨어의 기능을 쉽게 연동할 수 있다. 모바일 뿐만 아니라 태블릿, PMP 등의 각종 통신 기기에 사용될 수 있다.
6. 쉬운 연동
- 안드로이드로 만든 앱은 다른 앱에서 제공하는 기능을 쉽게 사용 할 수 있다.
[버전 및 특징]
A : Apple pie - Android 1.0
- 안드로이드 마켓, 웹브라우저, G메일, 구글지도, 구글검색, SMS와 MMS, 유튜브, Wi-Fi, 블루투스 지원
B : Banana bread - Android 1.1
C : Cupcake - Android 1.5
- 동영상 녹화, 휴대폰으로 유튜브 동영상 업로드, 블루투스 A2DP 및 AVRCP 지원, 애니메이션 화면 효과, 한국어 추가
D : Donut - Android 1.6
- 제스처와 문자열 음성 변환 엔진 기술 지원, 성능 개선
E : Eclair - Android 2.0 ~ 2.1
해상도, 구글맵, 카메라 플래시, 하드웨어 속도, 키보드, 블루투스 향상
UI와 HTML5 지원
F : Froyo - Android 2.2 ~ 2.2.1
안드로이드 OS 속도, 메모리 최적화,, 프로그램 속도 개선
크롬이 자바스크립트 엔진 지원, 애플리케이션 실행 기능 개선
마이크로소프트의 익스체인지 지원 강화
USB 테더링 및 와이파이 핫스팟 기능 추가
블루투스를 이용한 음성 전화 걸기 및 연락처 공유 가능
G : Gingerbread - Android 2.3 ~ 2.3.7
UI 단순화 및 텍스트, 전원 관리, 애플리케이션 관리 기능 향상
인터넷 전화 지원
AAC 코덱 사용 가능
H : Honeycomb - Android 3.0 ~ 3.2
안드로이드 태블릿을 정식 지원하기 위한 일종의 마이너 업그레이드
태블릿 PC에 최적화된 UI 지원, 홈스크린, 가상 키보드, 카메라 등의 성능 추가
USB 악세서리 연결 지원 가능 ( 조이스틱과 게임패드 및 외장 키보드 사용 가능 )
마이크로 SD 사용 가능
I : Ice cream Sandwich - Android 4.0 ~ 4.0.4
진저브레드와 허니콤의 통합 운영체제 ( 두 버전의 기능 향상 )
얼굴 인식 기능을 이용한 잠금해제 가능
16개의 탭을 동시에 실행 시킬 수 있는 인터넷 브라우저 추가
구글 크롬의 북마크와 브라우저의 북마크 자동 연동
J : Jellybean - Android 4.1 ~ 4.3.1
다양한 언어와 키보드 지원
USB 오디오 출력과 멀티채널 오디오 지원
구글 크롬을 기본 브라우저로 채택
무선 디스플레이인 미라캐스트 지원
세계 시간을 탑재한 시계 앱과 스톱워치, 타이머 기능 추가
K : Kitkat - Android 4.4 ~ 4.4.4
기기화면 녹화 기능 추가, 클라우드 프린팅 지원
LED 플래쉬 사용, 크롬 Webview 등을 적용하여 호환성 강화
L : Lollipop - Android 5.0 ~ 5.1.1
64비트 CPU 정식 지원
머티리얼 디자인 프로젝트 적용 ( 디자인 부분 강화 )
볼타 프로젝트 적용 ( 배터리 기능 향상 )
M : Marshmallow - Android 6.0 ~ 6.0.1
NFC 기능 내장
지문인식 기능 내장
앱 제어 가능
N : Nougat - Android 7.0 ~ 7.1.2
멀티태스킹 향상 ( 다중 창 지원 )
가상현실 플랫폼인 데이드림을 지원 ( 가상현실 콘텐츠를 체험 가능 )
기타 다른 보안적, 언어지원, 접근성 기능들 개선
O : Oreo - Android 8.0 ~ 8.1
부팅 속도 향상
PIP(Picture In Picture) 모드 지원 ( 분할 화면 기능 )
스마트 텍스트 선택 ( 주소, URL, 전화번호 및 이메일 주소 인식 )
늘어난 이모티콘, 향상된 오디오 기능
P : Pie - Android 9.0
새로워진 디자인과 알림
다크 모드 공식 지원
노치 지원
스크린샷 편집 기능
대시보드
추가 보안을 위한 잠금 모드 설정
제스처 탐색 기능
가로 모드 지원
앰비언트 디스플레이에서 배터리 상태 확인
[Activity]
Activity
- 애플리케이션의 구성 요소로서, 사용자 인터페이스 를 끌어올 수 있는 화면을 제공한다.
- 하나의 애플리케이션은 보통 여러 개의 액티비티가 느슨하게 묶여있다.
- 액티비티가 전환될 경우 백 스택 에 이전 액티비티가 보존된다.
- 백 스택 은 후입 선출(스택) 구조이다.
- 액티비티가 새로운 액티비티로 인해 중단될 경우 액티비티 수명 주기 콜백 메서드 를 통해 알려진다.
Activity 수명 주기
액티비티 상태
- Resumed(재개됨, 실행중) : 사용자가 현재 액티비티를 보고 있다.
- Paused(일시정지됨) : 한 액티비티가 잠시 숨겨져있고 다른 액티비티가 사용자의 포커스를 받고 있다.
- Stopped(정지됨) : 액티비티가 완전히 종료되었다. (백그라운드에 위치한다.)
액티비티가 일시정지, 중단 된 상태이면 메모리에서 삭제가 가능하다.
수명 주기 메서드
- 전체 수명 :
onCreate()
~onDestroy()
onCreate()
에서 "전체" 상태의 설정을 수행,onDestroy()
에서 해제
- 가시적 수명 :
onStart()
~onStop()
- 사용자가 액티비티를 화면에서 보고 이와 상호작용 할 수 있다.
onStop()
이 호출되어 새 액티비티가 시작되면 이전 액티비티는 더 이상 표시되지 않는다.
- 전경 수명 :
onResume()
~onPause()
- 액티비티가 화면에서 다른 모든 액티비티 앞에 표시되며 사용자 입력도 여기에 집중된다.
onResume()
,onPause()
메서드의 코드는 가벼워야 한다.
- 전체 수명 :
Android Studio 에서 "Hello World!" 출력하기
'Android Developer' 카테고리의 다른 글
[Android] ListView, Navigation Drawer (0) | 2019.03.24 |
---|---|
[Android] Fragment (0) | 2019.03.13 |
[Android] Naming (0) | 2019.03.01 |
[BCSD] 2. DataStructure - 2019.01.28 (0) | 2019.01.28 |
[BCSD] 1.Git, Git-flow, OOP - 2019.01.28 (0) | 2019.01.28 |