본문 바로가기

프로그래밍/Android

[안드로이드TV] 개발 전 확인사항

  1. 사용자 인터페이스 : 터치 입력이 아닌 리모컨 제어

  2. 지원하지 않는 기능의 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"/>

  3. 고정형 장치인 TV의 특징상 사용자 위치를 알수있는 GPS 기능이 제외됨. 따라서, MapView등은 ZIP코드 기반 형태로 변경해야 함.

  4. 10-foot UI : 컨트롤, 텍스트 폰트 크기가 모바일 버전보다 커야함.

  5. SMS 등 전화통신 전용 기능의 지원 불가.

  6. 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

  7. 오버스캔( x=48dp, y=27dp)
    720 : 1152 x 648 px, 여백 x=64, y=36
    1080 : 1728 x 972 px , 여백 x=96, y=54

  8. 컨트롤 탐색
    1. 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 )

    2. Selector 사용 시(focused)
      android:state_focused

  9. 미디어 키 처리 : 구글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

  10. 구글 TV를 대상으로 하기 위한 리소스 폴더
    layout : layout-large-notouch
    drawable: drawable-land-xhdpi, drawable-land-tvdpi

  11. 런타임 시 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