Android 2.3 플랫폼에는 사용자와 개발자를 위한 새롭고 흥미로운 기능이 다양하게 도입되었습니다. 이 문서에서는 Android 2.3의 새로운 기능과 기술을 간략하게 설명합니다. 새로운 개발자 API에 관한 자세한 내용은 Android 2.3 버전 노트를 참고하세요.
새로운 사용자 기능
![](https://developer.android.com/static/sdk/images/2.3/home-menu.png?authuser=0000&hl=ko)
![](https://developer.android.com/static/sdk/images/2.3/home-plain.png?authuser=0000&hl=ko)
단순성과 속도를 위한 UI 개선
사용자 인터페이스는 시스템에서 여러 가지 방법으로 세분화되어 더 쉽게 배우고 빠르게 사용하며 전력 효율을 높입니다. 검은색에 대비해 단순화된 시각적 테마는 알림바, 메뉴, UI의 다른 부분에 생동감과 대비를 제공합니다. 메뉴와 설정을 변경하면 사용자가 더 쉽게 시스템과 기기의 기능을 탐색하고 제어할 수 있습니다.
더 빠르고 직관적인 텍스트 입력
Android 소프트 키보드가 더 빠른 텍스트 입력과 편집을 위해 새롭게 디자인되고 최적화되었습니다. 타겟팅 향상을 위해 키 자체의 모양과 위치가 변경되므로 고속에서도 더 쉽게 보고 누를 수 있습니다. 또한 키보드는 현재 문자 및 사전 추천 항목을 더 크고 생생한 스타일로 더 쉽게 읽을 수 있도록 표시합니다.
키보드는 사전의 추천 검색어에서 입력한 단어를 수정하는 기능을 추가합니다. 사용자가 이미 입력된 단어를 선택하면 키보드에는 사용자가 선택할 수 있는 추천 단어가 표시되어 선택 항목을 대체할 수 있습니다. 또한 음성 입력 모드로 전환하여 선택 항목을 바꿀 수도 있습니다. 스마트 추천을 사용하면 사용자가 추천을 수락한 다음 필요에 따라 나중에 원래 추천 세트에서 수정할 수 있습니다.
새로운 멀티터치 키 코딩을 사용하면 사용자가 입력 모드를 수동으로 전환하지 않고도 Shift+<letter> 및 ?123+<symbol>을 눌러 숫자와 기호를 빠르게 입력할 수 있습니다. 사용자는 특정 키에서 키를 누른 상태에서 슬라이드하여 문자를 선택하여 악센트 부호가 있는 문자, 숫자, 기호의 팝업 메뉴에 액세스할 수도 있습니다.
![](https://developer.android.com/static/sdk/images/2.3/onetouch.png?authuser=0000&hl=ko)
![](https://developer.android.com/static/sdk/images/2.3/selection.png?authuser=0000&hl=ko)
원터치 단어 선택 및 복사/붙여넣기
텍스트를 입력하거나 웹페이지를 볼 때 사용자는 길게 눌러 단어를 빠르게 선택한 다음 클립보드에 복사하여 붙여넣을 수 있습니다. 단어를 누르면 자유 선택 모드로 전환됩니다. 사용자는 경계 화살표 집합을 새 위치로 드래그하여 필요에 따라 선택 영역을 조정한 다음 선택 영역의 아무 곳이나 눌러 제한된 영역을 복사할 수 있습니다. 텍스트 입력의 경우 사용자는 슬라이드를 눌러 커서 모드로 전환한 다음 커서 화살표를 드래그하여 쉽고 정확하게 커서 위치를 변경할 수 있습니다. 선택 모드와 커서 모드에서는 모두 트랙볼을 사용할 필요가 없습니다.
![](https://developer.android.com/static/sdk/images/2.3/running.png?authuser=0000&hl=ko)
![](https://developer.android.com/static/sdk/images/2.3/power.png?authuser=0000&hl=ko)
전력 관리 개선
Android 시스템은 기기를 너무 오랫동안 켜진 상태로 유지하거나 백그라운드에서 실행되는 동안 CPU를 소모하는 앱을 관리하는 데 더 적극적인 역할을 합니다. 이러한 앱을 관리하고 적절한 경우 종료함으로써 시스템은 가능한 최상의 성능과 최대 배터리 수명을 보장하는 데 도움이 됩니다.
또한 시스템은 사용자에게 시스템 구성요소와 실행 중인 앱에서 소모하는 전력에 관해 더 많은 가시성을 제공합니다. 애플리케이션 설정은 각 구성요소나 애플리케이션에서 소모한 사용량 및 상대적 전력의 세부정보와 함께 배터리 사용 방식에 관한 정확한 개요를 제공합니다.
애플리케이션 제어
이제 홈 화면과 런처의 옵션 메뉴에 애플리케이션 관리 컨트롤에 대한 바로가기가 표시되어 애플리케이션 활동을 훨씬 더 쉽게 확인하고 관리할 수 있습니다. 사용자가 애플리케이션 관리를 시작하면 새 실행 중 탭에 활성 애플리케이션 목록과 각 애플리케이션에서 사용 중인 저장용량 및 메모리가 표시됩니다. 사용자는 각 애플리케이션에 관한 세부정보를 읽고 필요한 경우 애플리케이션을 중지하거나 개발자에게 의견을 보고할 수 있습니다.
새로운 소통, 정리 방법
표준 애플리케이션 세트가 업데이트되어 사용자는 새로운 방식으로 정보와 관계를 관리할 수 있습니다.
![](https://developer.android.com/static/sdk/images/2.3/sipcall.png?authuser=0000&hl=ko)
![](https://developer.android.com/static/sdk/images/2.3/ffc.png?authuser=0000&hl=ko)
인터넷 전화
사용자는 인터넷을 통해 SIP 계정이 있는 다른 사용자에게 음성 통화를 걸 수 있습니다. 사용자는 모든 연락처에 인터넷 전화 번호 (SIP 주소)를 추가하고 빠른 연락처 또는 다이얼러에서 통화를 시작할 수 있습니다. 인터넷 통화를 사용하려면 사용자가 직접 선택한 SIP 제공업체에서 계정을 만들어야 합니다. SIP 계정은 인터넷 통화 기능의 일부로 제공되지 않습니다. 또한 특정 기기에서 플랫폼의 SIP 및 인터넷 통화 기능에 관한 지원은 제조업체 및 관련 이동통신사에서 결정합니다.
![](https://developer.android.com/static/sdk/images/2.3/nfc.png?authuser=0000&hl=ko)
근거리 통신
NFC 리더 애플리케이션을 사용하면 사용자가 근거리 무선통신 (NFC) 태그를 읽고 이와 상호작용할 수 있습니다. 예를 들어 사용자는 포스터, 스티커, 광고에 삽입되어 있을 수 있는 NFC 태그를 '터치'하거나 '스와이프'한 다음 태그에서 읽은 데이터를 활용할 수 있습니다. 일반적으로 식당, 상점 또는 이벤트에서 태그를 읽은 다음 태그 데이터에 URL이 포함된 웹사이트로 이동하여 평가하거나 등록하는 데 사용됩니다. NFC 통신은 기기 하드웨어의 무선 기술에 의존하므로 특정 기기에서 플랫폼의 NFC 기능 지원은 제조업체에서 결정합니다.
다운로드 관리
다운로드 애플리케이션을 사용하면 브라우저, 이메일 또는 다른 애플리케이션에서 다운로드한 모든 파일에 쉽게 액세스할 수 있습니다. 다운로드는 다운로드를 더 쉽게 관리하고 저장하기 위해 다른 애플리케이션에서 사용할 수 있는 시스템의 완전히 새로운 다운로드 관리자 기능을 기반으로 빌드됩니다.
카메라
이제 애플리케이션에서 사용자가 기기의 여러 카메라(가능한 경우)(전면 카메라 포함)에 액세스할 수 있습니다.
새로운 개발자 기능
Android 2.3은 개발자가 Android 플랫폼에 새로운 유형의 애플리케이션을 가져올 수 있는 다양한 기능과 API를 제공합니다.
게임 개선 사항
성능
Android 2.3에는 시스템 전반에 걸친 다양한 개선사항이 포함되어 있어 모든 애플리케이션의 일반 작업을 더 빠르고 효율적으로 수행할 수 있습니다. 게임 개발자가 특히 관심을 가질 만한 분야는 다음과 같습니다.
- 동시 가비지 컬렉터 - Dalvik VM은 애플리케이션 일시중지를 최소화하는 새로운 동시 가비지 컬렉터를 도입하여 게임 및 유사한 애플리케이션에서 애니메이션을 더 매끄럽게 하고 응답성을 높이는 데 도움을 줍니다.
- 더 빠른 이벤트 배포 - 이제 plaform이 터치 및 키보드 이벤트를 더 빠르고 효율적으로 처리하여 이벤트 배포 중 CPU 사용률을 최소화합니다. 이러한 변경사항은 모든 애플리케이션의 응답성을 개선하지만, 특히 3D 그래픽 또는 기타 CPU 집약적인 작업과 함께 터치 이벤트를 사용하는 게임에 유용합니다.
- 업데이트된 동영상 드라이버 - 이 플랫폼은 OpenGL ES 작업의 효율성을 높여주는 업데이트된 서드 파티 비디오 드라이버를 사용하여 전반적인 3D 그래픽 성능을 높입니다.
네이티브 입력 및 센서 이벤트
네이티브 코드를 사용하는 애플리케이션은 이제 입력 및 센서 이벤트를 네이티브 코드에서 직접 수신하고 처리할 수 있으므로 효율성과 반응성이 크게 향상됩니다.
플랫폼에 의해 노출되는 네이티브 라이브러리를 사용하면 애플리케이션이 프레임워크를 통해 제공되는 것과 동일한 유형의 입력 이벤트를 처리할 수 있습니다. 애플리케이션은 지원되는 모든 센서 유형에서 이벤트를 수신할 수 있으며 특정 센서를 사용 설정/사용 중지하고 이벤트 전송 속도 및 큐를 관리할 수 있습니다.
3D 모션 처리 개선을 위한 자이로스코프 및 기타 새로운 센서
Android 2.3에는 자이로스코프, 회전 벡터, 선형 가속, 중력, 기압계 센서를 비롯한 여러 새로운 센서 유형을 위한 API 지원이 추가되었습니다. 애플리케이션은 새로운 센서를 기기에서 사용 가능한 다른 센서와 함께 사용하여 3차원 기기 모션과 방향 변화를 높은 정밀도로 추적할 수 있습니다. 예를 들어 게임 애플리케이션은 기기의 자이로스코프와 가속도계의 측정값을 사용하여 기울기, 회전, 밀기, 슬라이스와 같은 복잡한 사용자 동작과 동작을 인식할 수 있습니다.
네이티브 오디오용 Open API
이 플랫폼은 애플리케이션이 네이티브 코드에서 강력한 오디오 컨트롤 및 효과에 액세스할 수 있게 해주는 표준 API인 Khronos OpenSL ES의 소프트웨어 구현을 제공합니다. 애플리케이션은 API를 사용하여 오디오 기기를 관리하고 네이티브 코드에서 직접 오디오 입력, 출력, 처리를 제어할 수 있습니다.
네이티브 그래픽 관리
플랫폼은 애플리케이션이 그래픽 컨텍스트를 관리하고 네이티브 코드에서 OpenGL ES 텍스처와 노출 영역을 생성하고 관리할 수 있는 Khronos EGL 라이브러리에 인터페이스를 제공합니다.
활동 수명 주기, 창 관리에 대한 네이티브 액세스
네이티브 애플리케이션은 수명 주기 콜백이 네이티브 코드에서 직접 구현되는 새로운 유형의 Activity 클래스인 NativeActivity
를 선언할 수 있습니다. NativeActivity
및 기본 네이티브 코드는 다른 활동과 마찬가지로 시스템에서 실행됩니다. 애플리케이션의 시스템 프로세스에서 실행되고 애플리케이션의 기본 UI 스레드에서 실행되며 다른 활동과 동일한 수명 주기 콜백을 수신합니다.
또한 플랫폼은 픽셀 버퍼를 잠그거나 잠금 해제하여 직접 그리는 기능을 포함하여 창을 관리하기 위한 네이티브 API를 노출합니다. API를 통해 애플리케이션은 프레임워크 노출 영역 객체와 연결된 네이티브 창 객체를 가져와 네이티브 코드에서 직접 상호작용할 수 있습니다.
애셋, 스토리지에 대한 기본 액세스
이제 애플리케이션이 네이티브 Asset Manager API에 액세스하여 JNI를 거치지 않고도 네이티브 코드에서 직접 애플리케이션 애셋을 검색할 수 있습니다.
애셋이 압축되면 애플리케이션이 애셋 데이터를 읽을 때 플랫폼은 스트리밍 압축 해제를 실행합니다. 읽을 수 있는 압축된 .apk
애셋의 크기에는 더 이상 제한이 없습니다.
또한 애플리케이션은 네이티브 Storage Manager API에 액세스하여 시스템에서 다운로드 및 관리하는 OBB 파일과 직접 작업할 수 있습니다. OBB의 플랫폼 지원은 Android 2.3에서 사용할 수 있지만 OBB 파일을 만들고 관리하기 위한 개발 도구는 2011년 초까지 사용할 수 없습니다.
강력한 네이티브 개발 환경
Android NDK (r5 이상)는 Android 2.3 플랫폼에서 제공하는 풍부한 네이티브 환경을 사용하는 애플리케이션 개발을 위한 완전한 도구, 도구 모음, 라이브러리 세트를 제공합니다. 자세한 내용이나 NDK를 다운로드하려면 Android NDK 페이지를 참조하세요.
새로운 형태의 커뮤니케이션
인터넷 전화 통신
이제 개발자는 애플리케이션에 SIP 기반 인터넷 전화 통신 기능을 추가할 수 있습니다. Android 2.3에는 전체 SIP 프로토콜 스택 및 통합 통화 관리 서비스가 포함되어 있어 애플리케이션이 세션, 전송 수준의 통신, 오디오 녹음 또는 재생을 직접 관리할 필요 없이 발신 및 수신 음성 통화를 쉽게 설정할 수 있습니다.
특정 기기에서 플랫폼의 SIP 및 인터넷 통화 기능에 관한 지원은 제조업체 및 관련 이동통신사에서 결정합니다.
근거리 무선통신 (NFC)
플랫폼의 NFC (근거리 무선통신) 지원을 통해 개발자는 완전히 새로운 유형의 Android용 애플리케이션을 만들 수 있습니다. 개발자는 사용자, 조직, 판매자, 광고주에게 근접성 기반 정보와 서비스를 제공하는 새로운 애플리케이션을 만들 수 있습니다.
NFC API를 사용하면 사용자가 스티커, 스마트 포스터, 심지어 다른 기기에 삽입된 요소에 NFC 지원 기기를 '터치'할 때 애플리케이션이 '검색된' NFC 태그를 읽고 응답할 수 있습니다. 관심 있는 태그가 수집되면 애플리케이션은 태그에 응답하고 태그에서 메시지를 읽은 다음 메시지를 저장하여 필요에 따라 사용자에게 메시지를 표시할 수 있습니다.
Android 2.3.3부터는 애플리케이션에서 태그에 쓸 수도 있고 다른 NFC 기기와 P2P 연결을 설정할 수도 있습니다.
NFC 통신은 기기 하드웨어의 무선 기술에 의존하므로 특정 기기에서 플랫폼의 NFC 기능 지원은 제조업체에서 결정합니다.
풍부한 멀티미디어
믹싱 가능한 오디오 효과
새로운 오디오 효과 API를 사용하면 개발자가 오디오 트랙과 사운드에 이퀄라이제이션, 베이스 부스트, 헤드폰 가상화 (확장된 사운드 스테이지), 반향을 추가하여 풍부한 오디오 환경을 쉽게 만들 수 있습니다. 개발자는 로컬 트랙에서 여러 오디오 효과를 믹싱하거나 여러 트랙에 전역적으로 효과를 적용할 수 있습니다.
새 미디어 형식 지원
이제 플랫폼에서는 VP8 공개 동영상 압축 형식과 WebM 공개 컨테이너 형식을 기본적으로 지원합니다. 플랫폼은 AAC 인코딩 및 AMR 광대역 인코딩 (소프트웨어)도 지원하므로 애플리케이션이 협대역보다 고품질 오디오를 캡처할 수 있습니다.
여러 카메라 액세스
이제 Camera API를 사용하면 개발자가 전면 카메라를 비롯하여 기기에서 사용할 수 있는 모든 카메라에 액세스할 수 있습니다. 애플리케이션은 플랫폼에 기기의 카메라 수와 카메라 유형 및 특성을 쿼리한 다음 필요한 카메라를 열 수 있습니다. 예를 들어 영상 채팅 애플리케이션은 저해상도를 제공하는 전면 카메라에 액세스해야 하는 반면, 사진 애플리케이션은 고해상도를 제공하는 후면 카메라를 선호할 수 있습니다.
새로운 플랫폼 기술
미디어 프레임워크
- 새로운 미디어 프레임워크가 OpenCore를 완전히 대체하여 이전의 모든 코덱/컨테이너 지원 인코딩 및 디코딩을 유지합니다.
- VP8 개방형 동영상 압축 형식 및 WebM 열기 컨테이너 형식 지원 통합
- AAC 인코딩 및 AMR 광대역 인코딩을 추가합니다.
Linux 커널
- 2.6.35로 업그레이드됨
네트워킹
- 기기 제조업체에서 구성 가능한 SIP 스택
- 기기 제조업체에서 구성할 수 있는 근거리 무선통신 (NFC) 지원
- 업데이트된 BlueZ 스택
Dalvik 런타임
- Dalvik VM:
- 동시 가비지 컬렉터 (3ms 미만 일시중지 대상)
- JIT (코드 생성) 최적화 추가
- 코드 인증 개선
- StrictMode 디버깅: 성능 및 메모리 문제 식별
- 핵심 라이브러리:
- I18N 지원 확장 (전 세계 인코딩, 더 많은 언어)
- 더 빠른 형식 지정 도구 및 숫자 서식 지정 예를 들어 부동 소수점 서식은 2.5배 더 빠릅니다.
- HTTP 응답은 기본적으로 gzip으로 압축됩니다. XML 및 JSON API 응답 크기를 60% 이상 줄일 수 있습니다.
- 새로운 컬렉션 및 유틸리티 API
- 향상된 네트워크 API
- 파일 읽기 및 쓰기 제어 개선
- 업데이트된 JDBC
- 업스트림 프로젝트의 업데이트:
- OpenSSL 1.0.0a
- 바운시캐슬 1.45
- 중환자실 4.4
- Zlib 1.2.5
새로운 개발자 API에 관한 자세한 내용은 Android 2.3 버전 참고사항 및 API 차이점 보고서를 참고하세요.