워치페이스를 한 단계 업그레이드 하기 위해서는 반드시 컴플리케이션이라는 단계를 넘어서야 한다.
이에 관해 우선 간단하게 요약하여 정리해 본다.(자세한 내용은 후에 포스팅 예정)
아래의 내용은 거의 공식 문서를 한국어로 다시 옮겨온 수준에 해당하기 때문에, 출처 링크의 영문사이트에 방문하여서 확인하셔도 무방하다.
컴플리케이션이란?
컴플리케이션은 정보 표시를 의미하며, 워치페이스에서 시간과 함께 표시되는 시계 모드의 모든 기능을 말한다. 예를 들어 배터리 인디케이터는 컴플리케이션인 것처럼 말이다.
컴플리케이션(Complication) API는 시계모드(워치페이스) 및 데이터 소스 앱 모두에서 사용된다.
아래는 데이터 소스, 워치페이스, 컴플리케이션 타입에 대해 설명하고 있다.
컴플리케이션 데이터 소스
정보 표시를 위해 데이터(배터리 레벨, 날씨, 걸음수 데이터 등)를 워치페이스에 제공하는 앱을 ‘컴플리케이션 데이터 소스(Complication Data Sources, 정보 표시 데이터 제공자)’라 부른다. 이러한 데이터 소스는 raw 데이터를 제공하지만, 이 데이터가 시계 모드에서 렌더링되는 방식은 제어하고 있지는 않다. 시계 모드에 데이터를 제공하는 앱을 작성하려면 다음의 문서를 참고하면 된다.
(https://developer.android.com/training/wearables/exposing-data-complications)
아래 다이어그램에서 보이는 것처럼 Wear OS는 데이터 소스로부터 시계 모드로의 데이터 흐름을 중재하고 있다.
시계 모드의 컴플리케이션
시계 모드는 컴플리케이션 데이터 소스로부터 데이터를 수신하므로 기본 데이터를 가져오기 위한 코드가 없어도 시계 모드에 정보 표시를 포함할 수 있다. 시계 모드는 데이터가 렌더링 되는 방식을 제어하므로 데이터와 디자인이 자연스럽게 어울리도록 통합할 수 있다. 다음의 링크를 통해 컴플리케이션을 위한 디자인 가이드를 참고할 수 있다.
(https://developer.android.com/training/wearables/design/complications)
컴플리케이션을 시계 모드에 추가하는 방법을 알아보려면 다음의 링크를 참고하면 된다.
(https://developer.android.com/training/wearables/watch-faces/adding-complications)
컴플리케이션 타입
컴플리케이션 타입은 어떤 종류의 데이터가 컴플리케이션으로 나타날 수 있는지, 또는 데이터 소스에 의해 제공될 수 있는지를 정의한다. 예를 들어, SHORT_TEXT 유형은 데이터가 주로 짧은 문자열로 구성된 경우에 사용된다. 언제나 ComplicationData 객체에는 필수 필드와 선택적 필드를 정의하는 하나의 컴플리케이션 타입이 있다. 일반적으로 필수 필드는 데이터의 주요 부분을 나타내며, 대부분의 타입은 그 이름을 필수 필드에서 가져온다.
데이터 소스는 시계 모드와는 다른 방식으로 이 컴플리케이션 타입을 사용한다.
- 데이터 소스는 제공하려는 컴플리케이션 데이터의 타입(이 타입 중에서 어떤 선택적 필드를 제공할지 포함) 및 지원할 수 있는 서로 다른 타입의 개수를 선택한다. 예를 들어, 걸음 수(step count) 소스는 RANGED_VALUE와 SHORT_TEXT 타입을 지원할 수 있는 반면에, 다음 미팅(next meeting) 소스는 SHORT_TEXT와 LONG_TEXT 타입을 지원할 수도 있다.
- 자신의 시계 모드에 포함할 컴플리케이션 개수와 지원하려는 컴플리케이션 타입을 선택할 수 있다. 예를 들어 시계 모드의 다이얼(dial) 컴플리케이션은 SHORT_TEXT, ICON, RANGED_VALUE 타입을 지원할 수 있도록 되어있다고 한다면, 시계 모드의 계기판(gauge)는 그 중 오직 RANGED_VALUE 타입만 지원하게 할 수 있다.
각 타입이 지원하는 다양한 컴플리케이션 타입과 필드에 대해 자세히 알아보고자 한다면 다음의 링크를 참고하면 된다.
(https://developer.android.com/training/wearables/watch-faces/adding-complications#types-fields)
출처
https://developer.android.com/training/wearables/watch-faces/complications
'[Developer] > Android' 카테고리의 다른 글
[Wear OS] 시계 모드에 컴플리케이션 및 제스처 추가 (1) | 2022.04.11 |
---|---|
scrcpy 제대로 활용하기(2/2) (10) | 2022.02.20 |
scrcpy 제대로 활용하기(1/2) (2) | 2022.02.19 |
scrcpy: 안드로이드 화면을 PC에서 미러링 하기 (5) | 2022.02.19 |
Wear OS 시계모드 구현 기본 (2) | 2021.08.08 |
댓글