- 사용자 인터페이스 : 터치 입력이 아닌 리모컨 제어
- 지원하지 않는 기능의 required 선언 : <uses-feature> 에서 TV에서 지원하지 않는 기능이 android:required="true"로 설정되면 스토어에서 앱이 검색되지 않음.
앱이 여러 플랫폼에 대해 범용적으로 사용될 지, TV 플랫폼만 단독으로 사용될 지 필터링 할 수 있음.
ex1) 터치 스크린 기능 : TV에서 검색되는 것을 활성화하고, 다른 플랫폼에서도 검색됨.
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>ex2) TV 전용 앱 : TV에서만 검색됨
<uses-feature android:name="com.google.android.tv" android:required="true"/> - 고정형 장치인 TV의 특징상 사용자 위치를 알수있는 GPS 기능이 제외됨. 따라서, MapView등은 ZIP코드 기반 형태로 변경해야 함.
- 10-foot UI : 컨트롤, 텍스트 폰트 크기가 모바일 버전보다 커야함.
- SMS 등 전화통신 전용 기능의 지원 불가.
- UI설정
720p : 1280 x 720 px / tvdpi / 213dp / 960 x 540 dp / large
1080p : 1920 x 1080 px / xhdpi / 320dp / 960 x 540 dp / large - 오버스캔( x=48dp, y=27dp)
720 : 1152 x 648 px, 여백 x=64, y=36
1080 : 1728 x 972 px , 여백 x=96, y=54 - 컨트롤 탐색
- DPAD 키에 따른 포커스되어야 할 View 지정(android:focusable)
android:nextFocusUp ( KeyEvent.KEYCODE_DPAD_UP )
android:nextFocusDown ( KeyEvent.KEYCODE_DPAD_DOWN )
android:nextFocusLeft ( KeyEvent.KEYCODE_DPAD_LEFT )
android:nextFocusRight ( KeyEvent.KEYCODE_DPAD_RIGHT )
android:nextFocusForward ( KeyEvent.KEYCODE_TAB )
- Selector 사용 시(focused)
android:state_focused
- DPAD 키에 따른 포커스되어야 할 View 지정(android:focusable)
- 미디어 키 처리 : 구글tv에는 미디어 관련 키 코드가 매핑되어 있으며, 다른 키와 마찬가지로 View.onKeyDown()에서 키를 처리.
KeyEvent.KEYCODE_MEDIA_PLAY
KeyEvent.KEYCODE_MEDIA_PUASE
KeyEvent.KEYCODE_MEDIA_STOP
KeyEvent.KEYCODE_MEDIA_NEXT
KeyEvent.KEYCODE_MEDIA_FAST_FORWARD
KeyEvent.KEYCODE_MEDIA_PREVIOUS
KeyEvent.KEYCODE_MEDIA_REWIND - 구글 TV를 대상으로 하기 위한 리소스 폴더
layout : layout-large-notouch
drawable: drawable-land-xhdpi, drawable-land-tvdpi - 런타임 시 setRequestedOrientation()으로 portrait 모드로 변경되면 경고 표시.( 3.2 에뮬에서는 경고 표시 후 아무 키나 입력 시 종료됨)
'프로그래밍 > Android' 카테고리의 다른 글
[Android] androidX Camera (0) | 2019.07.15 |
---|---|
[Android] Retrofit (0) | 2019.04.11 |
[Android] Data Binding Library (0) | 2019.03.31 |
String 리소스에 html 태그 넣기 (0) | 2014.04.29 |
파일 변경 이벤트 (0) | 2014.04.01 |
GoogleTV 개발환경 설정 (0) | 2014.02.06 |
GCM 메시지 전송 (0) | 2013.09.13 |
Dialog (0) | 2013.02.22 |
Fragment 기본 (0) | 2012.12.28 |
EditText 특수문자 입력 제한 (0) | 2012.09.10 |