Android 3.1에 오신 것을 환영합니다.
Android 3.1은 Android 3.0에 도입된 많은 기능을 개선하는 증분 플랫폼 버전입니다. Android 3.0에서 제공하는 것과 동일한 태블릿에 최적화된 UI 및 기능을 기반으로 빌드되며 사용자와 개발자를 위한 몇 가지 새로운 기능이 추가됩니다. 이 문서에서는 Android 3.1에 도입된 새로운 기능과 기술을 간략히 설명합니다. 새로운 개발자 API에 관한 자세한 내용은 API 개요 문서를 참고하세요.
Android 3.0에 관한 간략한 소개는 Android 3.0 플랫폼 하이라이트를 참고하세요.
새로운 사용자 기능
UI 개선
Android 3.1 플랫폼에는 다양한 개선사항이 추가되어 사용자 인터페이스를 더 직관적이고 효율적으로 사용할 수 있습니다.
시스템 전체와 표준 앱에서 UI 전환이 개선됩니다. 런처 애니메이션은 앱 목록에서 더 빠르고 원활하게 전환되도록 최적화되어 있습니다. 색상, 위치, 텍스트를 조정하면 UI 요소를 더 쉽게 보고 이해하고 사용할 수 있습니다. 접근성은 UI 전반에서 일관된 청취 가능 피드백과 사용자가 터치 유지 간격을 필요에 맞게 맞춤설정할 수 있는 새로운 설정으로 개선되었습니다.
이제 5개의 홈 화면으로 쉽게 이동할 수 있습니다. 이제 시스템 표시줄에서 홈 버튼을 터치하면 가장 최근에 사용한 홈 화면으로 이동할 수 있습니다. 설정을 통해 내부 저장소를 더 잘 볼 수 있어 더 큰 파일 형식 모음에서 사용되는 저장소를 확인할 수 있습니다.
USB 액세서리 연결
Android 3.1은 USB 연결 주변기기 및 액세서리를 위한 광범위한 플랫폼 지원을 추가합니다. 사용자는 다양한 유형의 입력 장치(키보드, 마우스, 게임 컨트롤러) 및 디지털 카메라를 연결할 수 있습니다. 애플리케이션은 플랫폼의 USB 지원을 기반으로 빌드되어 거의 모든 유형의 USB 기기로 연결을 확장할 수 있습니다.
이 플랫폼에는 USB 액세서리, 즉 Android 지원 기기에 USB 호스트로 연결되도록 설계된 외부 하드웨어 기기, 즉 USB 액세서리에 관한 새로운 지원도 추가되었습니다. 액세서리가 연결되면 프레임워크는 해당 애플리케이션을 찾아 사용자에게 실행하라고 제안합니다. 액세서리는 적절한 애플리케이션이 아직 설치되지 않은 경우 다운로드할 수 있도록 URL을 사용자에게 제공할 수도 있습니다. 사용자는 애플리케이션과 상호작용하여 로봇 컨트롤러, 도킹 스테이션, 진단 및 음악 장비, 키오스크, 카드 리더 등과 같은 전원 액세서리를 제어할 수 있습니다.
플랫폼의 USB 기능은 기기 하드웨어의 구성요소에 의존하므로 특정 기기의 USB 지원은 다를 수 있으며 기기 제조업체에서 결정합니다.
![](https://developer.android.com/static/sdk/images/3.1/tasks.png?authuser=0000&hl=ko)
최근 앱 목록 펼쳐짐
멀티태스킹을 개선하고 훨씬 더 많은 앱에 관한 즉각적인 시각적 액세스를 위해 이제 최근 앱 목록을 확장할 수 있습니다. 이제 최근 앱 목록을 세로로 스크롤하여 진행 중인 모든 작업과 최근에 사용한 앱의 썸네일 이미지를 볼 수 있습니다. 그런 다음 썸네일을 터치하여 해당 작업으로 돌아갈 수 있습니다.
크기 조절 가능한 홈 화면 위젯
더 유연한 홈 화면 맞춤설정을 위해 이제 사용자는 시스템에서 제공하는 드래그 바를 사용하여 홈 화면 위젯의 크기를 조절할 수 있습니다. 사용자는 각 위젯에서 지원하는 경우 위젯을 가로 또는 세로로 확장하여 더 많은 콘텐츠를 포함할 수 있습니다.
외부 키보드 및 포인팅 기기 지원
이제 사용자는 Android 지원 기기에 거의 모든 유형의 외장 키보드나 마우스를 연결하여 친숙한 환경을 조성하고 더 효율적으로 작업할 수 있습니다. 하나 이상의 입력 장치를 어떤 조합이든 USB 또는 블루투스 HID를 통해 동시에 시스템에 연결할 수 있습니다. 대부분의 경우 특별한 구성이나 드라이버가 필요하지 않습니다. 여러 기기가 연결되면 사용자는 시스템 표시줄에서 사용할 수 있는 키보드 설정을 사용하여 활성 키보드와 IME를 편리하게 관리할 수 있습니다.
포인팅 기기의 경우 플랫폼에서는 단일 버튼과 스크롤 휠이 있는 대부분의 마우스 유형은 물론 트랙볼과 같은 유사한 기기도 지원합니다. 이러한 요소가 연결되면 사용자는 포인트, 선택, 드래그, 스크롤, 마우스 오버, 기타 표준 작업을 사용하여 UI와 상호작용할 수 있습니다.
조이스틱 및 게임패드 지원
게임을 위한 플랫폼을 더 개선하기 위해 Android 3.1에는 USB 또는 블루투스 HID를 통해 연결된 대부분의 PC 조이스틱과 게임패드 지원이 추가되었습니다.
예를 들어 사용자는 USB (블루투스 아님), Logitech Dual ActionTM 게임패드 및 비행 스틱, 자동차 레이싱 컨트롤러를 통해 PlayStation®3 및 Xbox 360® 게임 컨트롤러를 연결할 수 있습니다. 독점 네트워킹 또는 페어링을 사용하는 게임 컨트롤러는 기본적으로 지원되지 않지만 일반적으로 플랫폼에서는 대부분의 PC 연결 조이스틱과 게임패드를 지원합니다.
강력한 Wi-Fi 네트워킹
Android 3.1에는 강력한 Wi-Fi 기능이 추가되어 사용자와 앱이 집, 직장, 외출 중에 고속 Wi-Fi 액세스를 최대한 활용할 수 있습니다.
새로운 고성능 Wi-Fi 잠금을 사용하면 기기 화면이 꺼져 있을 때도 애플리케이션에서 고성능 Wi-Fi 연결을 유지할 수 있습니다. 사용자는 기기가 유휴 상태이고 화면이 꺼져 있어도 이 기능을 활용하여 스트리밍된 음악, 동영상, 음성 서비스를 장시간 재생할 수 있습니다.
이제 사용자는 설정에서 액세스 포인트를 길게 터치하여 개별 Wi-Fi 액세스 포인트마다 HTTP 프록시를 구성할 수 있습니다. 브라우저는 액세스 포인트를 통해 네트워크와 통신할 때 HTTP 프록시를 사용하며 다른 앱도 이를 사용하도록 선택할 수 있습니다. 플랫폼은 사용자 정의 IP 및 프록시 설정의 백업 및 복원도 제공합니다.
이 플랫폼은 Wi-Fi를 장기간 지속적으로 사용할 수 있어야 하는 경우 배터리 전력 절약을 보존하는 백그라운드 검색 기능인 기본 네트워크 오프로드 (PNO) 지원을 추가합니다.
업데이트된 표준 앱 모음
Android 3.1 플랫폼에는 대형 화면 기기에서 사용하도록 최적화된, 업데이트된 표준 애플리케이션 세트가 포함되어 있습니다. 아래 섹션에서는 몇 가지 새로운 기능을 중점적으로 설명합니다.
![](https://developer.android.com/static/sdk/images/3.1/controls.png?authuser=0000&hl=ko)
브라우저
브라우저 앱에는 웹 콘텐츠를 더 간단하고 빠르고 편리하게 볼 수 있도록 하는 다양한 새 기능과 UI 개선사항이 포함되어 있습니다.
브라우저 설정에서 액세스할 수 있는 빠른 컨트롤 UI가 확장 및 재설계되었습니다. 이제 사용자는 컨트롤을 사용하여 열린 탭의 썸네일을 보고 활성 탭을 닫을 수 있으며 더보기 메뉴에 액세스하여 설정 및 기타 컨트롤에 즉시 액세스할 수 있습니다.
일관된 보기 환경을 보장하기 위해 브라우저는 CSS 3D, 애니메이션, CSS 고정 위치와 같은 인기 웹 표준에 대한 지원을 모든 사이트, 모바일 또는 데스크톱으로 확장합니다. 또한 HTML5 동영상 콘텐츠의 삽입된 재생을 지원합니다. 즐겨찾는 콘텐츠를 더 쉽게 관리할 수 있도록 이제 사용자는 모든 스타일 지정과 이미지를 비롯하여 오프라인 보기용으로 웹페이지를 로컬에 저장할 수 있습니다. Google 사이트 방문 시 편리하도록 개선된 자동 로그인 UI를 통해 여러 사용자가 기기를 공유할 때 신속하게 로그인하고 액세스 권한을 관리할 수 있습니다.
최상의 성능을 위해 브라우저에서는 하드웨어 가속 렌더링을 사용하는 플러그인 지원을 추가합니다. 페이지 확대/축소 성능이 크게 개선되어 더 빠르게 웹페이지를 탐색하고 볼 수 있습니다.
갤러리
이제 갤러리 앱에서 PTP (Picture Transfer Protocol)를 지원하므로 사용자가 USB를 통해 카메라를 연결하고 터치 한 번으로 사진을 갤러리로 가져올 수 있습니다. 또한 앱은 사진을 로컬 저장소에 복사하고 사용자가 사용 가능한 공간을 확인할 수 있는 표시기를 제공합니다.
![](https://developer.android.com/static/sdk/images/3.1/resizeable.png?authuser=0000&hl=ko)
Calendar
캘린더 그리드는 더 큰 가독성을 위해 더 크고 터치 타겟팅의 정확도를 높입니다. 또한 사용자는 캘린더 목록 컨트롤을 숨겨 더 넓은 그리드 보기 영역을 만들 수 있습니다. 날짜 선택 도구의 컨트롤이 다시 디자인되어 더 쉽게 확인하고 사용할 수 있습니다.
연락처
이제 연락처 앱에서 전체 텍스트 검색을 사용하여 연락처를 더 쉽게 찾을 수 있습니다. Search는 연락처에 저장된 모든 필드에서 일치하는 결과를 반환합니다.
이메일
HTML 메시지를 답장하거나 전달할 때 이제 이메일 앱이 일반 텍스트와 HTML 본문을 모두 멀티파트 MIME 메시지로 전송합니다. 이렇게 하면 모든 수신자에게 메시지 형식이 올바르게 지정됩니다. 이제 IMAP 계정의 폴더 프리픽스를 더 쉽게 정의하고 관리할 수 있습니다. 배터리 전원을 절약하고 셀 데이터 사용량을 최소화하기 위해 애플리케이션은 이제 기기가 Wi-Fi 액세스 포인트에 연결되어 있을 때만 서버에서 이메일을 미리 가져옵니다.
홈 화면 위젯이 업데이트되어 사용자는 더 많은 이메일에 빠르게 액세스할 수 있습니다. 사용자는 위젯의 상단에 있는 이메일 아이콘을 터치하여 받은편지함, 읽지 않음, 별표 표시된 라벨을 순환할 수 있습니다. 이제 위젯 자체의 크기를 가로 및 세로로 조절할 수 있습니다.
엔터프라이즈 지원
이제 사용자는 연결된 각 Wi-Fi 액세스 포인트에 대해 HTTP 프록시를 구성할 수 있습니다. 이를 통해 관리자는 사용자와 협력하여 프록시 호스트 이름, 포트, 우회 하위 도메인을 설정할 수 있습니다. 이 프록시 구성은 Wi-Fi 액세스 포인트가 연결되면 브라우저에서 자동으로 사용되며 다른 앱에서 선택적으로 사용할 수 있습니다. 이제 시스템 업데이트와 재설정 시 프록시 및 IP 구성이 백업 및 복원됩니다.
태블릿 사용자의 요구사항을 충족하기 위해 이제 플랫폼에서 에뮬레이션된 저장소 카드와 암호화된 기본 저장소가 있는 기기에서 '암호화된 저장소 카드' 기기 정책을 허용할 수 있습니다.
새로운 개발자 기능
Android 3.1 플랫폼에는 개발자가 기반이 되는 개선사항과 새로운 기능이 추가되어 태블릿 및 기타 대형 화면 기기에서 강력하고 매력적인 애플리케이션 환경을 만들 수 있습니다.
주변기기와의 풍부한 상호작용을 위한 Open Accessory API
Android 3.1에는 하드웨어 액세서리를 플랫폼에서 실행되는 애플리케이션과 통합하기 위한 새로운 API가 도입되었습니다. 이 API는 로봇 컨트롤러부터 음악 장비, 자전거 운동 등에 이르기까지 다양한 주변기기에서 상호작용할 수 있는 방법을 제공합니다.
이 API는 플랫폼에 내장된 새로운 USB (Universal Serial Bus) 스택 및 서비스를 기반으로 합니다. 플랫폼은 연결된 하드웨어를 검색 및 식별하고 관심 있는 애플리케이션에 하드웨어를 사용할 수 있음을 알리는 서비스를 제공합니다.
사용자가 USB 액세서리를 연결하면 플랫폼은 제품 이름, 액세서리 유형, 제조업체, 버전과 같은 식별 정보를 수신합니다. 플랫폼은 액세서리와의 통신을 설정하고, 액세서리의 정보를 사용하여 대상 앱이 있는 경우 이를 알리고 실행합니다. 필요한 경우 액세서리에서 사용자가 액세서리와 호환되는 앱을 찾아 다운로드할 수 있는 URL을 제공할 수 있습니다. 이러한 검색 기능을 통해 사용자는 처음 설정을 더 쉽게 수행하고 연결된 하드웨어와 상호작용하는 데 적절한 애플리케이션을 사용할 수 있습니다.
애플리케이션 개발자와 액세서리 제조업체에게 액세서리 모드는 사용자의 참여를 유도하고 연결된 하드웨어와 강력한 상호작용 환경을 빌드할 수 있는 여러 새로운 방법을 제공합니다.
액세서리와 상호작용하는 애플리케이션을 개발하는 방법에 관한 자세한 내용은 USB 액세서리 문서를 참고하세요.
USB 호스트 API
Android 3.1은 USB 호스트 모드를 위한 내장 플랫폼 지원을 제공하며 애플리케이션이 연결된 주변기기를 관리할 수 있는 API를 노출합니다. 호스트 모드를 지원하는 기기에서 애플리케이션은 API를 사용하여 오디오 기기, 입력 장치, 통신 기기, 허브, 카메라 등과 같은 연결된 기기를 식별하고 이와 통신할 수 있습니다.
USB 기기와 상호작용하는 애플리케이션을 개발하는 방법에 관한 자세한 내용은 USB 호스트 문서를 참고하세요.
마우스, 조이스틱, 게임패드로 입력
Android 3.1은 입력 이벤트 시스템을 확장하여 모든 뷰와 창에서 다양한 새 입력 소스와 모션 이벤트를 지원합니다. 개발자는 이러한 기능을 기반으로 사용자가 키보드와 터치스크린 외에도 마우스, 트랙볼, 조이스틱, 게임패드 및 기타 기기를 사용하여 애플리케이션과 상호작용할 수 있도록 할 수 있습니다.
마우스 및 트랙볼 입력의 경우 플랫폼은 두 가지 새로운 모션 이벤트 작업을 지원합니다. 스크롤 휠과 같은 스크롤 (가로 또는 세로)과 버튼을 누르지 않았을 때 마우스의 위치를 보고하는 마우스 오버입니다. 애플리케이션은 필요한 어떤 방식으로든 이러한 이벤트를 처리할 수 있습니다.
조이스틱과 게임패드의 경우 플랫폼에서는 애플리케이션이 X, Y, 모자 X, 모자 Y, 회전, 제한, 압력, 크기, 터치, 도구, 방향 등 주어진 입력 소스에서 사용할 수 있는 많은 모션 축을 제공합니다. 개발자는 필요한 경우 맞춤 축을 정의하여 추가적인 방식으로 모션을 캡처할 수도 있습니다. 플랫폼은 모션 이벤트를 애플리케이션에 배치로 제공하며 애플리케이션은 이벤트를 보다 효율적이고 정확하게 처리하기 위해 배치에 포함된 이동의 세부정보를 쿼리할 수 있습니다.
애플리케이션은 연결된 입력 기기의 목록과 각 기기에서 지원하는 모션 범위 (축)를 쿼리할 수 있습니다. 애플리케이션은 단일 입력 기기에서 여러 입력 및 모션 이벤트를 처리할 수도 있습니다. 예를 들어 애플리케이션은 단일 입력 기기에서 마우스와 조이스틱과 마우스 이벤트 소스를 사용할 수 있습니다.
크기 조절 가능한 홈 화면 위젯
개발자는 이제 사용자가 가로, 세로 또는 둘 다로 크기를 조절할 수 있는 홈 화면 위젯을 만들 수 있습니다. 위젯 선언에 속성을 추가하기만 하면 위젯이 가로, 세로 또는 둘 다의 크기를 조절할 수 있습니다. 이렇게 하면 사용자가 위젯 콘텐츠 표시를 맞춤설정하고 홈 화면에 더 많은 콘텐츠를 표시할 수 있습니다.
외장 카메라와 통합하기 위한 MTP API
Android 3.1에서는 개발자가 새로운 MTP (미디어 전송 프로토콜) API를 사용하여 연결된 카메라 및 기타 PTP 기기와 직접 상호작용하는 앱을 작성할 수 있습니다. 새로운 API를 사용하면 애플리케이션이 기기 연결 및 삭제 시 알림을 쉽게 수신하고, 기기의 파일과 저장소를 관리하며, 기기와 메타데이터를 주고 받을 수 있습니다. MTP API는 MTP 사양의 PTP (사진 전송 프로토콜) 하위 집합을 구현합니다.
RTP API: 오디오 스트리밍 세션 제어
Android 3.1은 애플리케이션이 주문형 또는 대화형 데이터 스트리밍을 직접 관리하는 데 사용할 수 있는 내장 RTP (실시간 전송 프로토콜) 스택에 API를 노출합니다. 특히 VOIP, 푸시하여 말하기, 회의, 오디오 스트리밍을 제공하는 앱은 API를 사용하여 세션을 시작하고 사용 가능한 모든 네트워크를 통해 데이터 스트림을 전송하거나 수신할 수 있습니다.
성능 최적화
Android 3.1에는 애플리케이션의 속도와 응답성을 높여주는 다양한 성능 최적화 기능이 포함되어 있습니다. 최적화에는 다음이 포함됩니다.
- 새 LRU 캐시 클래스를 사용하면 애플리케이션에서 효율적인 캐싱의 이점을 누릴 수 있습니다. 애플리케이션은 이 클래스를 사용하여 캐시된 데이터에 적절한 메모리 공간을 유지하면서 네트워크에서 데이터를 계산하거나 다운로드하는 데 소요되는 시간을 줄일 수 있습니다.
- 이제 UI 프레임워크는 하드웨어 가속 뷰에서 부분 무효화를 지원하므로 이러한 뷰에서의 그리기 작업을 더 효율적으로 만들 수 있습니다.
- 새로운 그래픽 메서드인
setHasAlpha()
를 사용하면 앱에서 지정된 비트맵이 불투명하다고 힌트할 수 있습니다. 이렇게 하면 일부 유형의 블릿에 관한 성능이 추가로 향상되며 ARGB_8888 비트맵을 사용하는 애플리케이션에 특히 유용합니다.