태그 표현식을 사용하여 고유하고 동적인 시계 화면을 만듭니다. 태그 표현식은 태그 값(날짜 및 시간 또는 배터리 상태, 걸음 수와 같은 시계 데이터)을 기반으로 구성요소의 회전, 배치, 불투명도를 변경할 수 있는 조건입니다. 태그 값이 변경되면 시계 화면이 동적으로 변경됩니다.
예를 들어 화면의 객체가 찰나의 순간에 수직으로 이동하는 시계 화면을 만들거나, 특정 시간에 표시되거나 사라지는 객체가 있는 시계 화면을 만들 수 있습니다.
구성요소의 회전, 배치, 불투명도 속성 입력란에 태그 표현식을 직접 입력합니다.
태그는 대괄호로 묶어야 합니다. 시계 화면 스튜디오에서 태그 스크립팅 대화상자를 열려면 태그를 클릭하세요. 스크립팅 대화상자에서 긴 태그 표현식을 입력하고 원하는 데이터를 검색할 수 있습니다.
그림 1. 태그 스크립팅 대화상자
다음 표에는 태그 설명 및 값 범위가 나와 있습니다.
날짜 및 시간
태그
정의
타입
범위
예
UTC_TS
에포크로부터 UTC 밀리초로 표시된 타임스탬프
Number
1256953732
MSEC
밀리초
Number
0 - 999
123
SEC
1분 기준의 초
Number
0 - 59
12
SEC_Z
1분 기준의 초(앞에 0 표시)
String
00 - 59
03
SEC_MSEC
1분 기준의 초(밀리초 포함)
Number
0.0 - 59.999
1.234
SEC_IN_DAY
1일 기준의 초
Number
0 - 86,400
12,345
MIN
1시간 기준의 분
Number
0 - 59
3
MIN_Z
1시간 기준의 분(앞에 0 표시)
String
00 - 59
03
MIN_SEC
1시간 기준의 분(초 포함)
Number
0.0 - 59.999
1.234
HOUR_0_11
1일 기준의 시(0-11)
Number
0 - 11
3
HOUR_0_11_Z
1일 기준의 시(0-11, 앞에 0 표시)
String
00 - 11
03
HOUR_0_11_MIN
1일 기준의 시(0-11, 분 포함)
Number
0.0 - 11.999
1.234
HOUR_1_12
1일 기준의 시(1-12)
Number
1 - 12
3
HOUR_1_12_Z
1일 기준의 시(0-12, 앞에 0 표시)
String
01 - 12
03
HOUR_1_12_MIN
1일 기준의 시(0-12, 분 포함)
Number
1.0 - 12.999
1.234
HOUR_0_23
1일 기준의 시(0-23)
Number
0 - 23
3
HOUR_0_23_Z
1일 기준의 시(0-23, 앞에 0 표시)
String
00 - 23
03
HOUR_0_23_MIN
1일 기준의 시(0-23, 분 포함)
Number
0.0 - 23.999
1.234
HOUR_1_24
1일 기준의 시(1-24)
Number
1 - 24
3
HOUR_1_24_Z
1일 기준의 시(1-24, 앞에 0 표시)
String
01 - 24
03
HOUR_1_24_MIN
1일 기준의 시(1-24, 분 포함)
Number
1.0 - 24.999
1.234
DAY_1_31
날짜(1-31)
Number
1 - 31
3
DAY_1_31_Z
날짜(1-31, 앞에 0 표시)
String
01 - 31
13
DAY_1_31_HOUR
날짜(1-31, 시 포함)
Number
1.0 - 31.999
1.234
DAY_WEEK
요일
Number
1(일요일) - 7(토요일)
3
DAY_WEEK_F
요일(전체 텍스트)
String
일요일 - 토요일
수요일
DAY_WEEK_S
요일(약어)
String
일 - 토
수
FIRST_DAY_WEEK
한 주의 첫 번째 요일
Number
1 (일요일) - 7 (토요일)
미국의 경우 1, 프랑스의 경우 2
DAY_IN_YEAR
1년 기준 날짜
Number
1 - 365
123
DAYS_IN_MON
이번 달 기준 날짜
Number
28 - 31
31
MON
1년 기준 월
Number
1 - 12
3
MON_Z
1년 기준 월(앞에 0 표시)
String
01 - 12
03
MON_F
1년 기준 월(전체 텍스트)
String
1월 - 12월
11월
MON_S
1년 기준 월(약어)
String
1 - 12
11
MON_DAY
월(날짜 포함)
Number
1.0 - 12.999
11.111
YEAR
연도
Number
0000 - 9999
2021
YEAR_S
축약된 연도(마지막 두 자리로 표시)
String
00 - 99
21
YEAR_MON
연도(월 포함)
Number
2021.307
WEEK_IN_YEAR
1년 기준 주
Number
1-52
24
WEEK_IN_MON
1개월 기준 주
Number
1 ~ 5
2
IS_24H
시스템에서 24시간 형식을 사용하는지 여부
Number
0(12시간), 1(24시간)
0
IS_DST
시스템에서 일광 절약 시간을 사용하는지 여부
Number
0(아니요), 1(예)
0
TMZN_ABB
시간대 약어
String
PST
TMZN_OFS
시간대 오프셋
String
-12 - +14
+9
TMZN_OFS_WITH_DST
일광 절약 시간에 맞게 수정된 시간대 오프셋
String
-12 - +14
-7
TMZN_ID
시간대 ID
String
Asia/Seoul
IS_AFTNOON
시간이 정오 이전인지 이후인지 여부
Number
0(오전), 1(오후)
0
AMPM_PO
AM 또는 PM 문자열의 위치
Number
-1(알 수 없음), 0(첫 번째), 1(마지막)
0
AMPM
시스템 언어에 맞게 형식이 지정된 AM/PM 문자열
String
AM/PM
AM
설정 정보
태그
정의
타입
범위
예
LANG_LOC
언어, 국가, 변형, 스크립트, 확장자로 구성된 시스템 언어 객체의 문자열 표현 예: en-US
String
ko_KR
디바이스 정보
태그
정의
타입
범위
예
BATT_PER
현재 배터리 잔량 비율
Number
0~100
70
BATT_IS_CHARGE
배터리가 충전 중인지 여부
Number
0(아니요), 1(예)
1
BATT_IS_LOW
시계의 배터리가 부족한 상태에서 충전 중이 아닌지 여부
Number
0(아니요), 1(예)
0
BATT_TEM_C
현재 배터리 온도(°C)
Number
28.8
BATT_TEM_F
현재 배터리 온도(°F)
Number
83.84
UNREAD_NC
기기에서 읽지 않은 알림 수
Number
3
센서 데이터
태그
정의
타입
범위
예
IS_ACC
기기에 가속도계 센서가 있는지 여부
Number
0(아니요), 1(예)
1
ACC_X
X축에서의 가속도
Number
ACC_Y
y축에서의 가속도
Number
ACC_Z
Z축에서의 가속
Number
ACC_A_X
X축에서의 가속 각도
Number
-90.0 - 90.0
ACC_A_Y
Y축에서의 가속 각도
Number
-90.0 - 90.0
ACC_A_Z
Z축에서의 가속 각도
Number
-90.0 - 90.0
ACC_A_XY
각도 X + 각도 Y
Number
-180.0 - 180.0
헬스 데이터
참고:디바이스가 잠겨 있을 때는 헬스 데이터가 표시되지 않습니다.
태그
정의
타입
범위
예
HR
심박수
Number
0 -
60
HR_Z
심박수(앞에 0 표시)
String
00
80
120
SC
걸음 수
Number
0 -
1000
SC_GOAL
걸음 수 목표
Number
1 - 20000
20000
SC_PER
걸음 수 목표 대비 걸음 수
Number
0 - 100
달의 위상
태그
정의
타입
범위
예
MOON_PO
달의 위상 위치
Number
0 - 28(아래 참고)
14.5
MOON_TY
달의 위상 유형
Number
0 - 7(아래 참고)
2
MOON_TY_NAME
유형 이름
String
(아래 참고)
MOON_PO 태그의 범위 정의는 다음과 같습니다.
0-0.5: 신월
0.5-6.5 : 저녁 초승달
7 : 상현
7.5-13.5 : 상현망
14 : 보름달
14.5-20.5 : 하현망
21 : 하현
21.5-27.5 : 아침 초승달
27.5-28 : 신월
MOON_TY 및 MOON_TY_NAME 태그의 범위 정의는 다음과 같습니다.
0 : 신월
1 : 저녁 초승달
2 : 상현
3 : 상현망
4 : 보름달
5 : 하현망
6 : 하현
7 : 아침 초승달
날씨
참고:날씨 태그에 액세스 하기 전에 항상 [WTHR_IS_AVAIL] 값을 확인해야 합니다.
태그
정의
타입
범위
예
WTHR_IS_AVAIL
사용 가능한 날씨 데이터가 있는지 여부
Number
0 (아니오), 1 (예)
1
WTHR_COND
현재 날씨 상태
Number
0 - 15 (아래 참고)
8
WTHR_COND_NAME
사람이 읽을 수 있는 현재 날씨 상태
String
SUNNY
WTHR_IS_DAY
낮 시간의 날씨 조건인지 여부
Number
0 (밤 시간), 1 (낮 시간)
0
WTHR_TEM
현재 온도
Number
25
WTHR_TEM_UNIT
온도 단위
Number
1 / 2 (아래 참고)
1
WTHR_DAY_TEM_LOW
하루 중 최저 온도
Number
18
WTHR_DAY_TEM_HIGH
하루 중 최고 온도
Number
30
WTHR_CHANCE_PPTN
현재 강수 확률
Number
0 - 100
0
WTHR_UV_INDEX
현재 자외선 지수
Number
3
WTHR_LAST_UPDATED
날씨 데이터가 마지막으로 업데이트된 시점의 타임스탬프
Number
[WTHR_COND] 태그의 가능한 값은 다음과 같습니다.
0: UNKNOWN_VALUE
1: CLEAR
2: CLOUDY
3: FOG
4: HEAVY_RAIN
5: HEAVY_SNOW
6: RAIN
7: SNOW
8: SUNNY
9: THUNDERSTORM
10: SLEET
11: LIGHT_SNOW
12: LIGHT_RAIN
13: MIST
14: PARTLY_CLOUDY
15: WINDY
[WTHR_TEM_UNIT] 태그의 가능한 값은 다음과 같습니다.
1: CELSIUS
2: FAHRENHEIT
날씨 예보 함수
함수
정의
반환 타입
표현식 예
예
forecastHour(index, String)
시간별 날씨 예보. 인덱스는 1부터 시작
Number / String
forecastHour(1, "COND")
forecastHour(1, "COND_NAME")
지금부터 1시간 후의 예보 조건
8
SUNNY
forecastDay(index, String)
일일 날씨 예보. 인덱스는 1부터 시작
Number / String
forecastDay(2, "COND_DAY")
forecastDay(2, "COND_DAY_NAME")
지금부터 2일 후의 예보 조건
8
SUNNY
forecastHour 함수의 두번째 매개변수의 가능한 값은 다음과 같습니다.
IS_AVAIL
COND
COND_NAME
IS_DAY
TEM
forecastDay 함수의 두번째 매개변수의 가능한 값은 다음과 같습니다.
IS_AVAIL
COND_DAY
COND_DAY_NAME
COND_NIGHT
COND_NIGHT_NAME
TEM_HIGH
TEM_LOW
CHANCE_PPTN
CHANCE_PPTN_NIGHT
함수
함수
정의
반환 타입
표현식 예
출력 예
round(num)
num에 가장 가까운 정수를 반환합니다.
Number
round(1.6)
2
floor(num)
num보다 작거나 같은 최대 정수를 반환합니다.
Number
floor(1.6)
1
ceil(num)
num보다 크거나 같은 최소 정수를 반환합니다.
Number
ceil(1.2)
2
sin(num)
num의 사인 값을 반환합니다.
Number
sin(1)
0.84147096
cos(num)
num의 코사인 값을 반환합니다.
Number
cos(1)
0.5403023
tan(num)
num의 탄젠트 값을 반환합니다.
Number
tan(1)
1.5574077
abs(num)
0부터의 거리를 반환합니다.
Number
abs(-10)
10
clamp(num, min, max)
max와 min 사이에 고정된 num 값을 반환합니다.
Number
clamp([ACC_A_X], -30, 60)
-30~60
numberFormat(form, num)
num을 form 형식으로 변환합니다. form은 다음 값으로 구성됩니다.
0: 빈 공백을 0으로 채웁니다.
#: 값이 없는 곳은 표시하지 않습니다.
.: 소수점 위치를 나타냅니다.
Number
(numberFormat("#.#", [SEC_MSEC]))
(numberFormat("#.###", ([SEC_MSEC]*10)))
(numberFormat("000.000", ([SEC_MSEC]*10)))
(numberFormat("0000.000", ([SEC_MSEC]*10)))
32.4
324.37
324.370
0324.370
asin(num)
num의 아크사인 함수를 반환합니다.
Number
asin(0.841)
1
acos(num)
num의 아크코사인 함수를 반환합니다.
Number
acos(0.54)
1
atan(num)
num의 아크탄젠트 함수를 반환합니다.
Number
atan(1.557)
1
deg(num)
num을 라디안에서 도 단위로 변환합니다.
Number
deg(3.142)
180
rad(num)
num을 도에서 라디안 단위로 변환합니다.
Number
rad(180)
3.141
pow(base, exponent)
지수로 제곱된 밑의 결과를 반환합니다.
Number
pow(12, 2)
144
연산자
태그 표현식은 태그 표현식의 값을 수정할 수 있는 다양한 연산자를 지원합니다.
산술 연산자
산술 연산자는 기본적인 수학 함수입니다. 산술 연산자는 두 값(피연산자) 간에 함수를 실행합니다.
연산자
정의
+
덧셈
-
뺄셈
*
곱셈
/
나눗셈의 몫
%
나눗셈의 나머지
예
다음 예는 태그 표현식에서 태그 및 산술 연산을 사용하는 방법을 보여줍니다.
5 * [BATT_PER] :
배터리 잔량 비율에 5를 곱한 값이 반환됩니다.
배터리 잔량 비율이 7%이면 반환되는 값은 35입니다.
[SEC] / 3 :
1분 기준 초를 3으로 나눈 몫이 반환됩니다.
1분에 경과된 초 수가 7이면 반환되는 값은 2.33입니다.
[SEC] % 3 :
1분 기준 초를 3으로 나눈 나머지가 반환됩니다.
1분에 경과된 초 수가 7이면 반환되는 값은 1입니다.
3 + 5 * [BATT_PER] :
배터리 잔량 비율에 5를 곱한 다음 3이 더해집니다.
배터리 잔량 비율이 7%이면 반환되는 값은 38입니다.
곱셈이 덧셈보다 우선하므로 먼저 곱셈이 수행된 다음, 3이 그 결과에 더해집니다(3 + 5 * 7 → 3 + 35 → 38).
(3 + 5) * [BATT_PER] :
괄호의 덧셈 연산이 먼저 수행되고 그 결과에 배터리 진량 비율이 곱해집니다. 배터리 잔량 비율이 7%이면 반환되는 값은 56입니다.
관계 연산자
관계 연산자는 두 값을 비교하여 관계(예: 어느 값이 더 크거나 작은지 또는 서로 같은지)를 결정합니다. true인 비교는 값 1을 반환합니다. false인 비교는 값 0을 반환합니다.
연산자
정의
<
미만
<=
이하
>
초과
>=
이상
==
같음
!=
같지 않음
예
관계 연산은 산술 연산과 결합되는 경우가 있습니다. 다음은 관계 연산만 사용하거나 관계 연산과 산술 연산을 사용하는 예입니다.
[BATT_PER] <= 15 :
배터리 잔량 비율이 15% 이하인 경우 [BATT_PER] <= 15가 true이고 1을 반환합니다.
배터리 잔량 비율이 15%보다 큰 경우 [BATT_PER] <= 15는 false이고 0을 반환합니다.
1000 * ([HRATE] < 100) + 120
심박수가 100bpm 미만인 경우 [HRATE] < 100은 true이고 값 1을 반환합니다. 그다음으로 1에 1,000을 곱하고 120을 더합니다. 반환되는 최종 값은 1,120입니다.
심박수가 100bpm 이상인 경우 [HRATE] < 100은 false이고 값 0을 반환합니다. 그다음으로 0에 1,000을 곱하고 120을 더합니다. 반환되는 최종 값은 120입니다.
논리 연산자
논리 연산자는 둘 이상의 관계 연산의 결과를 결합하고 값 1(true) 또는 0(false)을 반환합니다. 태그 표현식은 두 가지 유형의 논리 연산(AND 및 OR)을 지원합니다.
AND – 별표(*)로 표시됩니다.
AND 논리 연산자가 값 1(true)을 반환하려면 두 관계 연산이 모두 true여야 합니다. 그렇지 않은 경우 반환 값은 0(false)입니다.
참고:별표는 곱셈 산술 연산자 및 AND 논리 연산자를 나타냅니다.
OR – 더하기 기호(+)로 표시됩니다.
OR 논리 연산자가 값 1(true)을 반환하려면 하나 이상의 관계 연산이 true여야 합니다. 두 관계 연산이 모두 false인 경우 반환 값은 0(false)입니다.
참고:더하기 기호는 덧셈 산술 연산자 및 OR 논리 연산자를 나타냅니다.
다음 표는 논리 연산의 결과를 설명합니다.
관계 연산 1의 결과
관계 연산 2의 결과
AND(*)의 결과
(관계 연산 1) * (관계 연산 2)
OR(+)의 결과
(관계 연산 1) + (관계 연산 2)
0(false)
0(false)
0 * 0 = 0
0 + 0 = 0
0(false)
1(true)
0 * 1 = 0
0 + 1 = 1
1(true)
0(false)
1 * 0 = 0
1 + 0 = 1
1(true)
1(true)
1 * 1 = 1
1 + 1 = 1
두 피연산자(연산자 양쪽의 값)가 모두 관계 연산인 경우에만 논리 연산자가 적용됩니다. 두 피연산자 중 하나가 숫자 값인 경우 산술 연산자가 적용됩니다.
논리 연산
산술 연산
산술 연산
두 피연산자가 모두 관계 연산임:
(0 <= 1) * (1 < 2)
결과: 1
한 피연산자는 관계 연산이고 다른 피연산자는 값임:
(0 <= 1) *120
결과: 120
두 피연산자가 모두 값임:
1 * 120
결과: 120
이 태그 표현식은 연산자 양쪽에 두 개의 관계 연산(0<=1 및 1<2)으로 구성됩니다. 따라서 논리 연산자가 적용됩니다. 두 관계 연산이 모두 true이므로 이 태그 표현식의 최종 결과는 1(true)입니다.
이 태그 표현식은 관계 연산(0<=1)과 숫자 값(120)으로 구성됩니다. 따라서 산술 연산자가 적용됩니다.
관계 연산의 결과는 1(true)이고, 여기에 120이 곱해집니다. 이 연산의 최종 결과는 120입니다.
이 태그 표현식은 2개의 숫자 값(1과 120)으로 구성됩니다. 따라서 산술 연산자가 적용됩니다. 결과는 1에 120을 곱한 값이며, 최종 결과 120이 반환됩니다.
3항 연산자
3항 연산에는 3개의 피연산자가 있습니다. 조건부 연산과 조건부 연산이 true인 경우의 결과, 조건부 연산이 false인 경우의 결과가 여기에 해당됩니다. 조건부 연산은 관계 연산 또는 논리 연산일 수 있습니다.
이 연산은 배터리 잔량 비율이 20% 이하인 경우 시계 화면의 이미지 불투명도를 15로 설정합니다. 그 외의 경우에는 불투명도를 100으로 설정합니다.
([BATT_PER] >= 50) * ([BATT_PER] <= 75)? 100: 0
이 예에서는 조건부 연산에 논리 연산을 사용합니다.
이는 배터리 잔량 비율이 50% 이상이고 75% 이하인 경우 시계 화면의 이미지 불투명도를 100으로 설정합니다. 그 외의 경우에는 불투명도를 0으로 설정합니다.
중첩 3항 연산
3항 연산은 다른 3항 연산의 결과 피연산자 내에 중첩될 수 있습니다.
예를 들어 두 개의 3항 연산 (a? b: c)와 (x? y: z)가 있는 경우 다음과 같은 중첩된 3항 연산을 만들 수 있습니다.
conditional_operation? (a? b: c): result_if_false
If conditional_operation 이 true인 경우 조건부 연산 a를 확인합니다.
a가 true인 경우 결과는 b입니다. a가 false인 경우 결과는 c입니다.
If conditional_operation 이 false인 경우 결과는 result_if_false.
conditional_operation? result_if_true: (x? y: z)
If conditional_operation 이 true인 경우 결과는 result_if_true.
If conditional_operation 이 false인 경우 조건부 연산 x를 확인합니다.
x가 true인 경우 결과는 y입니다. x가 false이면 결과는 z입니다.
conditional_operation? (a? b: c): (x? y: z)
If conditional_operation 이 true인 경우 조건부 연산 a를 확인합니다.
a가 true인 경우 결과는 b입니다. a가 false인 경우 결과는 c입니다.
If conditional_operation 이 false인 경우 조건부 연산 x를 확인합니다.
x가 true인 경우 결과는 y입니다. x가 false이면 결과는 z입니다.
Manage Your Cookies
We use cookies to improve your experience on our website and to show you relevant
advertising. Manage you settings for our cookies below.
Essential Cookies
These cookies are essential as they enable you to move around the website. This
category cannot be disabled.
Company
Domain
Samsung Electronics
.samsungdeveloperconference.com
Analytical/Performance Cookies
These cookies collect information about how you use our website. for example which
pages you visit most often. All information these cookies collect is used to improve
how the website works.
Company
Domain
LinkedIn
.linkedin.com
Meta (formerly Facebook)
.samsungdeveloperconference.com
Google Inc.
.samsungdeveloperconference.com
Functionality Cookies
These cookies allow our website to remember choices you make (such as your user name, language or the region your are in) and
tailor the website to provide enhanced features and content for you.
Company
Domain
LinkedIn
.ads.linkedin.com, .linkedin.com
Advertising Cookies
These cookies gather information about your browser habits. They remember that
you've visited our website and share this information with other organizations such
as advertisers.
Company
Domain
LinkedIn
.linkedin.com
Meta (formerly Facebook)
.samsungdeveloperconference.com
Google Inc.
.samsungdeveloperconference.com
Preferences Submitted
You have successfully updated your cookie preferences.