WFF, एक्सप्रेशन लैंग्वेज का इस्तेमाल करके ये काम करता है:
Transform
याGyro
का इस्तेमाल करके, आइकॉन का रंग बदलनाCondition
स्टेटमेंट की मदद से शर्तों के हिसाब से काम करनाTemplate
एलिमेंट में स्ट्रिंग फ़ॉर्मैटिंग
एक्सप्रेशन लैंग्वेज एक स्क्रिप्टिंग लैंग्वेज है. इसमें आपके सामान्य ऑपरेटर और कई फ़ंक्शन होते हैं जिनका इस्तेमाल किया जा सकता है.
एक्सप्रेशन में डेटा सोर्स का इस्तेमाल किया जा सकता है. इन्हें स्क्वेयर ब्रैकेट में दिखाया जाता है. इनकी मदद से, बाहरी इनपुट पर प्रतिक्रिया दी जा सकती है. जैसे, मौजूदा तारीख और समय, सेहत और फ़िटनेस मेट्रिक या मौसम.
एक्सप्रेशन का इस्तेमाल करते समय, Transform
या Template
और Condition
के इस्तेमाल में मुख्य अंतर यह है कि Transform
और Template
के लिए ज़रूरी है कि एक्सप्रेशन से वैल्यू (उदाहरण के लिए, एलिमेंट की नई पोज़िशन) मिले, जबकि Condition
के लिए ज़रूरी है कि एक्सप्रेशन से बुलियन मिले.
उदाहरण के लिए, Condition
में ये शामिल हो सकते हैं:
[DAY_OF_WEEK] == 6 || [DAY_OF_WEEK] == 7
यह एक बूलियन वैल्यू के तौर पर काम करता है. साथ ही, DAY_OF_WEEK
डेटा सोर्स का इस्तेमाल करके यह तय करता है कि यह वीकेंड है या नहीं.
फ़ंक्शन भी इस्तेमाल किए जा सकते हैं. उदाहरण के लिए, Wear OS डिवाइस के ऐक्सीलेरोमीटर के x-value
के आधार पर, किसी वैल्यू को दोनों दिशाओं में 5 डिग्री तक घुमाने के लिए एक्सप्रेशन:
(5/90)*clamp([ACCELEROMETER_ANGLE_X],0,90) +
(-5/90)*clamp([ACCELEROMETER_ANGLE_X],-90,0)
clamp()
फ़ंक्शन, किसी वैल्यू को दो सीमाओं के बीच रखता है.
एक्सप्रेशन का फिर से आकलन
एक्सप्रेशन का फिर से आकलन कितनी बार किया जाता है, यह इस बात पर निर्भर करता है कि उनमें किन डेटा सोर्स का इस्तेमाल किया गया है. उदाहरण के लिए, [DAY_OF_WEEK] == 6 || [DAY_OF_WEEK] ==
7
एक्सप्रेशन सिर्फ़ तब फिर से आकलन करता है, जब नया दिन शुरू होता है. हालांकि, [SECOND]
डेटा सोर्स का इस्तेमाल करने वाला एक्सप्रेशन हर सेकंड में फिर से आकलन करता है.
फिर से आकलन करने पर, एक्सप्रेशन के नतीजे में हुए बदलाव के आधार पर, सीन की फिर से गिनती की जा सकती है और उसे फिर से रेंडर किया जा सकता है. इसलिए, हमेशा ऐसे डेटा सोर्स का इस्तेमाल करना ज़रूरी है जो कम से कम बार फिर से आकलन करते हों. उदाहरण के लिए, यह पता लगाने के लिए कि दोपहर है या नहीं:
// Bad - re-evaluates every second
[SECONDS_IN_DAY] > 43200
// Good - limits re-evaluation frequency (1 = PM, 0 = AM)
[AMPM_STATE] == 1
एक्सप्रेशन में कॉन्फ़िगरेशन वैल्यू
फ़ंक्शन और डेटा सोर्स के अलावा, कॉन्फ़िगरेशन वैल्यू का भी इस्तेमाल किया जा सकता है. उदाहरण के लिए, अगर UserConfigurations में showBackgroundInAfternoon
नाम का BooleanConfiguration
तय किया गया है, तो इसका इस्तेमाल किसी एक्सप्रेशन में किया जा सकता है:
[CONFIGURATION.showBackgroundInAfternoon] == "TRUE" && [AMPM_STATE] == 1