WFF নিম্নলিখিত বিষয়গুলি সক্রিয় করার জন্য একটি অভিব্যক্তি ভাষা ব্যবহার করে:
-
TransformবাGyroব্যবহার করে চেহারা পরিবর্তন করা -
Conditionবিবৃতির মাধ্যমে শর্তসাপেক্ষ আচরণ -
Templateউপাদানগুলিতে স্ট্রিং ফর্ম্যাটিং
এক্সপ্রেশন ল্যাঙ্গুয়েজ হল একটি স্ক্রিপ্টিং ল্যাঙ্গুয়েজ যাতে আপনার সাধারণ অপারেটর এবং ব্যবহার করা যেতে পারে এমন বিভিন্ন ফাংশন থাকে।
এক্সপ্রেশনগুলি ডেটা সোর্স ব্যবহার করতে পারে — বর্গাকার বন্ধনী ব্যবহার করে উপস্থাপন করা হয় — যাতে আপনি বর্তমান তারিখ এবং সময়, স্বাস্থ্য এবং ফিটনেস মেট্রিক্স, এমনকি আবহাওয়ার মতো বাহ্যিক ইনপুটগুলিতে প্রতিক্রিয়া জানাতে পারেন।
এক্সপ্রেশন ব্যবহার করার সময়, Transform , Template , এবং Condition ব্যবহারের মধ্যে প্রাথমিক পার্থক্য হল যে Transform এবং Template এর জন্য এক্সপ্রেশনটির একটি মান তৈরি করা প্রয়োজন (উদাহরণস্বরূপ, এনক্লোজিং এলিমেন্টের নতুন অবস্থান) যেখানে Condition এর জন্য এক্সপ্রেশনটির একটি বুলিয়ান তৈরি করা প্রয়োজন।
যখন কোনও Condition এলিমেন্টে ব্যবহার করা হয়, তখন এক্সপ্রেশনটিকে একটি টেক্সট এলিমেন্ট হিসেবে নির্দিষ্ট করুন। " এবং & এর মতো এন্টিটি রেফারেন্স ব্যবহার করার প্রয়োজন এড়াতে এক্সপ্রেশনটিকে একটি CDATA এলিমেন্টে মুড়ে দিন।
<![CDATA[[DAY_OF_WEEK] == 6 || [DAY_OF_WEEK] == 7]]>
এটি একটি বুলিয়ানে মূল্যায়ন করে এবং DAY_OF_WEEK ডেটা উৎস ব্যবহার করে এটি একটি সপ্তাহান্ত কিনা তা নির্ধারণ করে।
ফাংশনগুলিও সমর্থিত - উদাহরণস্বরূপ, Wear OS ডিভাইসের অ্যাক্সিলোমিটারের x-value উপর ভিত্তি করে যেকোনো দিকে 5 ডিগ্রি পর্যন্ত একটি মান ঘোরানোর জন্য একটি এক্সপ্রেশন:
(5.0/90.0)*clamp([ACCELEROMETER_ANGLE_X],0,90) + (-5.0/90.0)*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: Minimizes re-evaluation (1 = PM, 0 = AM) --> [AMPM_STATE] == 1
এক্সপ্রেশনে কনফিগারেশন মান
ফাংশন এবং ডেটা সোর্স ছাড়াও, কনফিগারেশন মান ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, যদি UserConfigurations- এ showBackgroundInAfternoon নামে একটি BooleanConfiguration সংজ্ঞায়িত করা থাকে, তাহলে এটি একটি এক্সপ্রেশনে ব্যবহার করা যেতে পারে:
<![CDATA[[CONFIGURATION.showBackgroundInAfternoon] == "TRUE" && [AMPM_STATE] == 1]]>