Android Developer

[Android] 정의, 버전 및 특징, 액티비티

졸려질려 2019. 2. 23. 12:59
반응형

[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