API 수준: 13
Android 3.2 (HONEYCOMB_MR2
)는
기능을 개선해야 합니다 아래 섹션에서는 Google Cloud의
새로운 기능 및 개발자 API를
살펴봤습니다
개발자에게는 Android 3.2 플랫폼을 다운로드할 수 있는 구성요소입니다. 다운로드 가능한 플랫폼에는 Android 라이브러리와 시스템 이미지뿐만 아니라 에뮬레이터 스킨과 자세히 알아보세요. Android 3.2에 대한 개발이나 테스트를 시작하려면 Android SDK Manager를 사용하여 플랫폼을 SDK에 다운로드합니다.
플랫폼 주요 사항
새로운 사용자 기능
- 다양한 태블릿에 최적화
Android 3.2에는 시스템 전반의 다양한 최적화 기능이 포함되어 있습니다. 더 광범위한 태블릿 기기에서 우수한 사용자 환경을 보장합니다.
- 고정 크기 앱의 호환성 확대/축소
Android 3.2에는 새로운 호환성 확대/축소 모드가 도입되어 사용자는 더 큰 기기에서 고정된 크기의 앱을 볼 수 있는 새로운 방법을 제공합니다. 새 모드는 지원되지 않는 앱을 위한 표준 UI 스트레칭의 픽셀 크기 대안입니다. 태블릿과 같이 큰 화면에서 실행되도록 설계되었습니다. 새 모드는 시스템 표시줄의 메뉴 아이콘을 통해 액세스 가능 호환성 지원을 제공합니다.
- SD 카드에서 미디어 동기화
이제 사용자는 SD 카드를 지원하는 기기에서 미디어 파일을 직접 로드할 수 있습니다. 사용하는 앱으로 데이터를 전송할 수 있습니다. 시스템 기능은 파일을 시스템 미디어 저장소에서 앱에 액세스할 수 있습니다.
새로운 개발자 기능
- 화면 지원 관리를 위한 확장 API
Android 3.2는 플랫폼의 화면 지원 API에 확장 프로그램을 도입하여 개발자가 다양한 플랫폼에서 애플리케이션 UI를 관리할 수 있는 Android 구동 기기 API에는 새로운 리소스 한정자와 새로운 매니페스트 속성을 사용하면 애플리케이션 구성 방법을 보다 정밀하게 앱이 일반화된 방식에 의존하지 않고 다양한 크기로 표시됨 크기 카테고리입니다.
제한된 크기의 앱과 고정된 크기의 앱을 가능한 한 최적으로 표시하기 위해 다양한 화면 크기를 지원하며 플랫폼에서는 새로운 확대/축소 기능도 제공합니다. 더 작은 화면 영역에서 UI를 렌더링한 다음 크기를 조정하는 호환성 모드 디스플레이에 있는 공간을 채울 수 있습니다. 자세한 내용은 화면 지원 API와 이 API에서 제공하는 컨트롤에 관한 자세한 내용은 아래 섹션을 참고하세요.
API 개요
화면 지원 API
Android 3.2에는 더 많은 기능을 제공하는 새로운 화면 지원 API가 도입됩니다. 다양한 화면 크기에서 애플리케이션이 표시되는 방식을 제어할 수 있습니다. 이 API는 플랫폼의 일반화된 화면 밀도 모델이지만, 정밀한 화면 밀도로도 크기별로 특정 화면 범위 타겟팅 밀도 독립형 픽셀 단위 (예: 너비 600dp 또는 720dp)로 일반화된 화면 크기 (대형 또는 특대형) 기준
애플리케이션의 UI를 디자인할 때 여전히 플랫폼을 활용하여 밀도 추상화를 제공합니다. 즉, 애플리케이션은 기기 간 실제 픽셀 밀도의 차이를 보정할 수 있습니다. 나 화면의 크기에 따라 애플리케이션 UI를 디자인할 수 충분한 공간이 있습니다. 이 플랫폼은 새로운 세 가지 옵션을 사용하여 사용 가능한 공간을 표현합니다. 특성: smallestWidth, width 및 높이.
- 화면의 smallestWidth는 기본적인 최소 크기이며, 밀도 독립형 픽셀('dp') 단위로 측정됩니다. 화면 높이 또는 둘 중 더 짧은 값입니다. 세로 방향 화면의 경우 smallestWidth는 보통 너비를 기준으로 하지만 가로 방향에서는 너비를 기준으로 합니다. 지정할 수 있습니다. 모든 경우 smallestWidth는 값이 변경되지 않습니다. smallestWidth 는 애플리케이션에 중요한 역할을 합니다. 가능한 가장 짧은 너비를 나타내기 때문입니다. 화면 영역을 제외하고 애플리케이션 UI를 그려야 합니다. 예약되어 있습니다.
- 반대로 화면의 너비 및 높이는 애플리케이션 레이아웃에 사용할 수 있는 현재 가로 또는 세로 공간(측정됨) 'dp' 단위(시스템이 예약한 화면 영역은 제외) 너비 및 사용자가 가로 모드 간에 방향을 전환할 때 화면 높이 변경 사용할 수 있습니다.
새로운 화면 지원 API는 애플리케이션 UI를 관리할 수 있도록 설계되었습니다. 다음과 같습니다. 또한 필요에 따라 현재 너비 또는 높이에 따른 UI를 생성합니다. 이를 위해 API는 다음 도구를 제공합니다.
- 레이아웃 및 기타 리소스를 최소 smallestWidth, 너비 또는 높이 및
- 앱의 최댓값 지정을 위한 새 매니페스트 속성 화면 호환성 범위
또한 애플리케이션은 여전히 시스템을 쿼리하고 UI를 관리하고 런타임 시 리소스 로드가 가능합니다.
새 API를 사용하면 smallestWidth를 통해 더 직접적으로 화면을 타겟팅할 수 있으므로 일반적인 어조의 크기를 이해하는 것이 특성에 따라 다릅니다 아래 표에는 'dp' 단위로 측정된 예 개의 단위로 표시됩니다.
유형 | 밀도 (일반화됨) | 크기 (dp) | smallestWidth (dp) |
---|---|---|---|
기준 전화번호 | mdpi | 320x480까지 확장 가능 | 320 |
소형 태블릿/대형 휴대전화 | mdpi | 480x800까지 확장 가능 | 480 |
7인치 태블릿 | mdpi | 600x1024 | 600 |
10인치 태블릿 | mdpi | 800x1280 | 800 |
아래 섹션에서는 새로운 화면 한정자에 관한 자세한 정보를 제공합니다. 매니페스트 속성을 포함합니다 화면 사용 방법을 자세히 알아보려면 자세한 내용은 여러 항목 지원 화면.
화면 지원을 위한 새로운 리소스 한정자
Android 3.2의 새로운 리소스 한정자를 사용하면 레이아웃을 더 효과적으로 타겟팅할 수 있습니다. 확인할 수 있습니다. 한정자를 사용하여 리소스를 만들 수 있습니다. 특정 최소 smallestWidth, 현재 너비 또는 현재 높이로, 밀도 독립형 픽셀로 측정됩니다.
새로운 한정자는 다음과 같습니다.
swNNNdp
- 이 값이 열리는 최소 smallestWidth를 지정합니다. 리소스가 사용되어야 하며 'dp'로 측정됩니다. 개의 단위로 표시됩니다. 위에서 언급했듯이 화면의 smallestWidth는 방향과 상관없이 일정합니다. 예:sw320dp
,sw720dp
,sw720dp
wNNNdp
및hNNNdp
: 최솟값을 지정합니다. 리소스가 사용되어야 하는 너비 또는 높이로, 'dp'로 측정됩니다. 개의 단위로 표시됩니다. 따라서 위에서 설명한 것처럼 화면의 너비와 높이는 화면 방향에 따라 방향이 바뀔 때마다 변경됩니다. 예:w320dp
,w720dp
,h1024dp
필요한 경우 중복되는 리소스 구성을 여러 개 만들 수도 있습니다. 예를 들어 480픽셀보다 큰 모든 화면에서 사용할 수 있도록 일부 리소스에 태그를 지정할 수 있습니다. dp, 600dp보다 넓은 경우, 720dp보다 넓은 경우 등입니다. 날짜 주어진 화면에서 여러 리소스 구성이 조건을 충족하므로 시스템은 가장 근접하게 일치하는 구성을 선택합니다. 모든 디바이스를 어떤 리소스가 주어진 화면에 로드되었는지 확인하고 싶다면 한정자를 사용하거나 여러 신규 또는 기존 한정자를 조합할 수 있습니다.
다음은 앞에서 나열한 일반적인 측정기준에 따른 몇 가지 예입니다. 새로운 한정자를 사용할 수 있습니다.
res/layout/main_activity.xml # For phones res/layout-sw600dp/main_activity.xml # For 7” tablets res/layout-sw720dp/main_activity.xml # For 10” tablets res/layout-w600dp/main_activity.xml # Multi-pane when enough width res/layout-sw600dp-w720dp/main_activity.xml # For large width
이전 버전의 플랫폼은 새 한정자를 무시하므로 앱이 모든 기기에서 멋지게 보이도록 할 수 있습니다. 여기 다음은 몇 가지 예입니다.
res/layout/main_activity.xml # For phones res/layout-xlarge/main_activity.xml # For pre-3.2 tablets res/layout-sw600dp/main_activity.xml # For 3.2 and up tablets
새 한정자를 사용하는 방법에 대한 자세한 내용은 새 한정자 사용 크기 한정자를 참조하세요.
화면 크기 호환성을 위한 새로운 매니페스트 속성
프레임워크는 새 <supports-screens>
매니페스트 속성 집합을 제공하여
앱의 다양한 화면 크기 지원을 관리합니다.
특히 앱이 표시할 가장 큰 화면과 가장 작은 화면을 지정할 수 있습니다.
실행되도록 설계된 가장 큰 화면에서 실행되는
시스템의 새로운 화면 없이도
호환 모드가 됩니다. 위에서 설명한 리소스 한정자와 마찬가지로 새로운
매니페스트 속성은 애플리케이션이 지원하는 화면 범위를 지정합니다.
가장 작은 너비의 너비 및 높이로 지정됩니다.
화면 지원을 위한 새로운 매니페스트 속성은 다음과 같습니다.
android:compatibleWidthLimitDp="numDp"
- 현재 속성을 사용하면 애플리케이션이 호환 모드 없이도 실행할 수 있습니다. 현재 화면이 시스템이 응용 프로그램을 일반 모드로 표시하지만 사용자가 기본 홈 화면의 설정을 통해 시스템 표시줄로 이동합니다.android:largestWidthLimitDp="numDp"
- 현재 속성을 사용하면 애플리케이션이 실행할 수 있도록 설계되었습니다 현재 화면이 지정된 값보다 크면 시스템이 애플리케이션을 화면 호환 모드로 강제 전환하며, 표시할 수 있습니다.android:requiresSmallestWidthDp="numDp"
- 현재 속성을 사용하면 애플리케이션이 실행할 수 있습니다 현재 화면이 지정된 값보다 작으면 시스템은 애플리케이션이 기기와 호환되지 않는 것으로 간주하지만 이를 방지하지는 않습니다. 설치 및 실행되지 않습니다
참고: Google Play에서는 현재 필터링되지 않습니다.
앱에 적용할 수 있습니다. 필터링 지원이
추후 플랫폼 릴리스에 추가되었습니다. 애플리케이션에
기존 <supports-screens>
를 사용할 수 있습니다.
속성
새 속성을 사용하는 방법에 대한 자세한 내용은 선언하기 화면 크기 지원을 참조하세요.
화면 호환 모드
Android 3.2는 애플리케이션을 위한 새로운 화면 호환성 모드를 제공합니다. 기본 화면보다 큰 화면을 지원하지 않는다고 명시적으로 선언한 경우 실행할 수 있습니다 새로운 '확대/축소' 기능 모드는 픽셀로 확장되며 더 작은 화면 영역에서 애플리케이션을 렌더링한 다음 픽셀의 크기를 현재 화면을 채울 수 있습니다.
기본적으로 시스템은 앱의 사용자 옵션으로 화면 호환 모드를 제공합니다. API를 사용할 수 있습니다 사용자는 제공되는 컨트롤을 사용하여 확대/축소 모드를 켜고 끌 수 있습니다. 를 클릭합니다.
새 화면 호환 모드가 일부 사용자에게 적합하지 않을 수 있기 때문입니다. 플랫폼에서 애플리케이션이 매니페스트를 사용하여 이를 사용 중지할 수 있도록 허용 속성 앱이 사용 중지하면 시스템에서 '확대/축소'를 제공하지 않습니다. 호환성 옵션을 제공할 수도 있습니다.
참고: Google Cloud에서 애플리케이션의 호환성 모드를 제어하려면 Android에서 대형 화면의 앱을 위한 새로운 모드 도움말을 개발자 블로그.
720p TV 및 유사 기기를 위한 새로운 화면 밀도
720p 텔레비전 또는 그와 유사한 환경에서 실행되는 애플리케이션의
Android 3.2에서는 일반화된 새로운 밀도를 도입하고
tvdpi
(대략 213dpi). 애플리케이션은
densityDpi
의 새로운 밀도를 구현하고
새로운 tvdpi
한정자를 사용하여 TV 리소스 및
유사 기기 예를 들면 다음과 같습니다.
res/drawable-tvdpi/my_icon.png # Bitmap for tv density
일반적으로 애플리케이션은 이 밀도를 사용할 필요가 없습니다. 상황 720p 화면에 출력이 필요한 경우 UI 요소를 조정 가능 자동으로 작동합니다
UI 프레임워크
- 프래그먼트
<ph type="x-smartling-placeholder">
- </ph>
- 새
Fragment.SavedState
클래스는 상태를 보유합니다 프래그먼트 인스턴스에서 검색된 정보를saveFragmentInstanceState()
입니다. - 새 메서드
saveFragmentInstanceState()
현재 인스턴스 상태를 합니다. 나중에 새 인스턴스를 만들 때 상태를 사용할 수 있습니다. 현재 상태와 일치하는 프래그먼트의 값을 반환합니다. - 새 메서드
setInitialSavedState()
처음 생성될 때 프래그먼트의 초기 저장된 상태를 설정합니다. - 새
onViewCreated()
콜백 메서드는onCreateView()
반환된 상태이지만 저장된 상태가 뷰에 복원되기 전에 할 수 있습니다. isDetached()
메서드는 프래그먼트가 UI에서 명시적으로 분리된 경우.- 새
attach()
및detach()
메서드를 사용하면 애플리케이션이 UI에서 프래그먼트를 다시 연결하거나 분리할 수 있습니다. - 새
setCustomAnimations()
오버로드 메서드를 사용하면 특정 애니메이션을 설정할 수 있습니다. 들어가기/나가기 작업, 특히 언제 백 스택 팝하기 기존 구현에는 을 사용해야 합니다.
- 새
- ActivityInfo 및 ApplicationInfo의 화면 크기 정보
<ph type="x-smartling-placeholder">
- </ph>
ActivityInfo
님이CONFIG_SCREEN_SIZE
을(를) 추가합니다. 및CONFIG_SMALLEST_SCREEN_SIZE
를 비트 마스크로 사용합니다. (configChanges
) 비트는 활동이 자체에서 화면 크기와 가장 작은 화면 크기를 처리합니다.ApplicationInfo
님이 추가largestWidthLimitDp
,compatibleWidthLimitDp
및requiresSmallestWidthDp
필드 상응하는<supports-screens>
속성에서 파생됨 매니페스트 파일에 포함됩니다.
- WindowManager에서 디스플레이 크기를 가져오는 도우미
<ph type="x-smartling-placeholder">
- </ph>
- 새 메서드
getSize()
및getRectSize()
를 사용하면 애플리케이션이 디스플레이의 원시 크기를 가져올 수 있습니다.
- 새 메서드
- 최신 공개 '홀로그래픽' 스타일
<ph type="x-smartling-placeholder">
- </ph>
- 이제 플랫폼에서 다양한 공개 '홀로그래픽'을 노출하고 스타일
텍스트, 작업 모음 위젯 및 탭 등을 포함할 수 있습니다. 자세한 내용은
전체 목록은
R.style
를 참고하세요.
- 이제 플랫폼에서 다양한 공개 '홀로그래픽'을 노출하고 스타일
텍스트, 작업 모음 위젯 및 탭 등을 포함할 수 있습니다. 자세한 내용은
전체 목록은
LocalActivityManager
,ActivityGroup
외LocalActivityManager
가 이제 지원 중단됨 <ph type="x-smartling-placeholder">- </ph>
- 새 애플리케이션은 이러한 클래스 대신 프래그먼트를 사용해야 합니다. 받는사람 이전 버전의 플랫폼에서 계속 실행하려는 경우 Android SDK에서 사용할 수 있는 라이브러리 (호환성 라이브러리) v4 지원 라이브러리는 다음과 호환되는 Fragment API 버전을 제공합니다. Android 1.6 (API 수준 4)
- Android 3.0 (API 수준)에서 개발 중인 앱의 경우
11) 이상에서는 일반적으로 탭이 새
ActionBar.newTab()
및 관련 API 작업 모음 영역 내에 탭을 배치하는 데 사용됩니다.
미디어 프레임워크
- 이제 플랫폼의 미디어 제공자 (
MediaStore
)를 사용하는 애플리케이션은 기기에서 지원하는 경우 이동식 SD 카드여야 합니다. 애플리케이션은 또한 MTP API를 사용하여 SD 카드 파일과 직접 상호 작용할 수 있습니다.
그래픽
- Point 및 PointF의 Parcelable 유틸리티
<ph type="x-smartling-placeholder">
- </ph>
Point
및PointF
이제 클래스에Parcelable
인터페이스와 유틸리티 메서드describeContents()
,readFromParcel()
,writeToParcel()
가 포함됩니다.
IME 프레임워크
- 새로운
getModifiers()
메서드 특수키의 현재 상태를 가져옵니다.
USB 프레임워크
- 새로운
getRawDescriptors()
메서드 기기의 원시 USB 설명자를 가져옵니다. 이 더 높은 상위 클래스를 통해 직접 지원되지 않는 설명어에 액세스하는 사용할 수 있습니다
네트워크
- 네트워크 유형 상수
<ph type="x-smartling-placeholder">
- </ph>
ConnectivityManager
는 상수TYPE_ETHERNET
및TYPE_BLUETOOTH
를 추가합니다.
전화 통신
- 새로운
NETWORK_TYPE_HSPAP
네트워크 유형 상수입니다.
핵심 유틸리티
- Parcelable 유틸리티
<ph type="x-smartling-placeholder">
- </ph>
- 새 인터페이스
Parcelable.ClassLoaderCreator
에서 객체가 생성 중인 ClassLoader를 수신할 수 있습니다. - 관리를 위한 새로운
adoptFd
,dup()
,fromFd()
ParcelFileDescriptor
객체
- 새 인터페이스
- Binder 및 IBinder
<ph type="x-smartling-placeholder">
- </ph>
- 새 메서드
dumpAsync()
Binder
및IBinder
에서 애플리케이션이 지정된 파일로 덤프하여 타겟이 비동기식으로 실행되도록 합니다. - 새로운
IBinder
프로토콜 트랜잭션 코드TWEET_TRANSACTION
를 사용하면 애플리케이션에서 트윗을 보낼 수 있습니다. 타겟 객체에 추가합니다
- 새 메서드
새로운 기능 상수
플랫폼에서 개발자가 선언할 수 있는 새로운 하드웨어 기능 상수를 추가합니다.
Google과 같은 외부 주체에 정보를 제공하기 위해
필요한 하드웨어 및 소프트웨어 기능 사용자는 이러한
및 <uses-feature>
매니페스트 요소에 기타 기능 상수를 포함합니다.
Google Play는 <uses-feature>
속성을 기반으로 애플리케이션을 필터링하여 요구사항을 충족하는 기기에서만 애플리케이션을 사용할 수 있도록 합니다.
- 가로 또는 세로 모드 요구사항을 위한 기능 상수
Android 3.2에는 애플리케이션이 가로 방향, 세로 방향 또는 둘 다로 표시할지 여부를 지정할 수 있는 새로운 기능 상수가 도입되었습니다. 이러한 상수를 선언하면 애플리케이션이 관련 방향을 제공하지 않는 기기에 설치되어서는 안 된다는 것을 나타냅니다. 반대로 상수 중 하나 또는 둘 다 선언되지 않은 경우 애플리케이션이 선언되지 않은 방향을 선호하지 않으며 이러한 방향을 제공하지 않는 기기에 설치될 수 있음을 나타냅니다.
android.hardware.screen.landscape
- 애플리케이션이 표시되어야 함: 사용할 수 있습니다.android.hardware.screen.portrait
- 애플리케이션이 표시되어야 함: 세로 방향입니다.
가로 모드 방향과 세로 모드 방향에서 모두 제대로 작동하는 일반적인 애플리케이션은 일반적으로 방향 요구사항을 선언할 필요가 없습니다. 텔레비전용으로 설계된 앱과 같이 주로 한 방향에 맞게 설계된 애플리케이션은 상수 중 하나를 선언하여 해당 방향을 제공하지 않는 기기에서 사용하지 못하도록 할 수 있습니다.
매니페스트에 선언된 활동이 특정 방향으로 실행되도록 요청하는 경우
android:screenOrientation
속성을 사용하면 애플리케이션이 해당 방향이 필요합니다. - 기타 기능 상수
<ph type="x-smartling-placeholder">
- </ph>
android.hardware.faketouch.multitouch.distinct
- 애플리케이션에서 두 개 이상의 지점에 대한 고유한 추적 기능을 사용하여 에뮬레이션된 다중 터치 입력을 지원해야 합니다.android.hardware.faketouch.multitouch.jazzhand
- 애플리케이션에서 5개 이상의 지점에 대한 고유한 추적 기능을 사용하여 에뮬레이션된 다중 터치 입력을 지원해야 합니다.
API 차이점 보고서
Android 3.2 (API)의 모든 API 변경사항을 자세히 살펴보려면 수준 13)의 경우 API 차이점 보고서를 참조하세요.
API 수준
Android 3.2 플랫폼은 API에 액세스할 수 있습니다 Android 3.2 API 정수 식별자가 할당됩니다. 13 — 즉 시스템 자체에 저장됩니다. 'API 수준'이라고 하는 이 식별자를 사용하면 애플리케이션이 호환되는지 여부를 정확하게 판단하기 위해 할 수 있습니다.
Android 3.2에 도입된 API를 애플리케이션에서 사용하려면
Android 라이브러리에 대해 애플리케이션을 컴파일하고
지원합니다. 필요에 따라
예상
android:minSdkVersion="13"
도 추가해야 합니다.
속성을 <uses-sdk>
요소에 추가합니다.
합니다.
자세한 내용은 API란? 레벨?