ওয়াচ ফেস ফরম্যাট সেটআপ

দ্রষ্টব্য : এই পৃষ্ঠাটি আপনাকে আপনার ওয়াচফেস কনফিগারেশন ম্যানুয়ালি পরিচালনা করার প্রক্রিয়ার একটি ধাপ দেখাবে। আপনি যদি WYSIWYG (আপনি যা দেখেন তাই পান) স্টাইল টুল ব্যবহার করে আপনার ওয়াচফেস ডিজাইন করতে চান, তাহলে প্রথমে ওয়াচফেস স্টুডিও গাইডগুলি দেখুন।

এই নির্দেশিকাটিতে ওয়াচ ফেস ফর্ম্যাট ব্যবহার করে ওয়াচ ফেস কনফিগার করার জন্য প্রয়োজনীয় সরঞ্জামগুলির ধাপগুলি, প্রকল্প কাঠামো সম্পর্কে কিছু পরামর্শ এবং সেই কাঠামো তৈরি করার জন্য সরঞ্জামগুলি প্রয়োগ করার জন্য ধাপে ধাপে নির্দেশিকা অন্তর্ভুক্ত রয়েছে।

অ্যান্ড্রয়েড স্টুডিও দিয়ে শুরু করুন

ম্যানুয়ালি ওয়াচ ফেস তৈরি শুরু করার সবচেয়ে সহজ উপায় হল অ্যান্ড্রয়েড স্টুডিও ব্যবহার করা। ক্যানারি চ্যানেলে ওয়াচ ফেস সাপোর্ট পাওয়া যায়।

  1. ফাইল > নতুন প্রকল্পে ক্লিক করুন।
  2. Wear OS এর অধীনে, বেসিক ওয়াচফেস নির্বাচন করুন

এটি একটি সম্পূর্ণরূপে কার্যকরী ওয়াচফেসের জন্য প্রয়োজনীয় কাঠামো তৈরি করে।

প্রকল্প কাঠামো

যখন আপনি ওয়াচ ফেস ফর্ম্যাট ব্যবহার করে একটি কাস্টম ওয়াচ ফেস তৈরি করেন, তখন কাস্টম ওয়াচ ফেস ফাইল সহ অ্যান্ড্রয়েড অ্যাপ বান্ডেলটি অবশ্যই আপনার Wear OS অ্যাপের লজিক ধারণকারী অ্যান্ড্রয়েড অ্যাপ বান্ডেল থেকে সম্পূর্ণ আলাদা হতে হবে। Google Play সহ কিছু অ্যাপ স্টোর আপনাকে এমন একটি অ্যান্ড্রয়েড অ্যাপ বান্ডেল আপলোড করতে বাধা দেয় যাতে Wear OS লজিক এবং একটি কাস্টম ওয়াচ ফেস উভয়ই থাকে।

ওয়াচফেস ফর্ম্যাট ভার্সন ঘোষণা করুন

আপনার নতুন অ্যাপের ম্যানিফেস্ট ফাইলে ( AndroidManifest.xml ), অ্যাপ্লিকেশন বৈশিষ্ট্যটি পরীক্ষা করুন যা আপনার ওয়াচ ফেস ফর্ম্যাটের ব্যবহার নির্দেশ করে।

<property
    android:name="com.google.wear.watchface.format.version"
    android:value="4" />

ওয়াচ ফেস ফর্ম্যাটের কিছু বৈশিষ্ট্য শুধুমাত্র পরবর্তী সংস্করণগুলিতে উপলব্ধ। ডিভাইসের সামঞ্জস্যতা সর্বাধিক করতে, এই বৈশিষ্ট্যটি আপনার প্রয়োজনীয় বৈশিষ্ট্যগুলিকে সমর্থন করে এমন সর্বনিম্ন মানটিতে সেট করুন এবং minSdkVersion কে ম্যাচ করার জন্য সেট করুন। আপনার অ্যাপের সংস্করণগুলি কীভাবে কনফিগার করবেন সে সম্পর্কে আরও জানুন।

<application> উপাদানটিতে android:hasCode="false" বৈশিষ্ট্যটিও অন্তর্ভুক্ত থাকতে হবে। ওয়াচ ফেস ফর্ম্যাট বান্ডেলগুলি কেবল রিসোর্স-এ ব্যবহৃত হয় এবং এতে কোনও কোড থাকতে পারে না।

ওয়াচফেস মেটাডেটা ঘোষণা করুন

আপনার অ্যাপের res/xml রিসোর্স ডিরেক্টরিতে, watch_face_info.xml নামে একটি ফাইল আছে। এখানে আপনি আপনার ওয়াচফেসের মেটাডেটা সংজ্ঞায়িত করতে পারেন:

<WatchFaceInfo>
    <Preview value="@drawable/preview" />
    <Category value="CATEGORY_EMPTY" />
    <AvailableInRetail value="true" />
    <MultipleInstancesAllowed value="true" />
    <Editable value="true" />
    <FlavorsSupported value="true" />
</WatchFaceInfo>

এই ফাইলের ক্ষেত্রগুলি নিম্নলিখিত বিবরণগুলি উপস্থাপন করে:

Preview
ঘড়ির মুখের একটি প্রিভিউ চিত্র ধারণকারী অঙ্কনযোগ্যটির উল্লেখ করে।
Category

ওয়াচফেসের বিভাগ নির্ধারণ করে। এটি অবশ্যই একটি স্ট্রিং অথবা একটি স্ট্রিংয়ের রেফারেন্স হতে হবে, যেমন @string/ref_name । প্রতিটি ডিভাইস প্রস্তুতকারক তাদের নিজস্ব ওয়াচফেস বিভাগের সেট নির্ধারণ করতে পারে।

ডিফল্ট মান: empty_category_meta , যা এই ঘড়ির মুখটিকে ওয়াচ ফেস পিকার ভিউয়ের নীচে অন্যান্য "খালি বিভাগ" ঘড়ির মুখগুলির সাথে একত্রিত করে।

AvailableInRetail

ডিভাইসের খুচরা ডেমো মোডে ওয়াচফেসটি উপলব্ধ কিনা। এটি অবশ্যই একটি বুলিয়ান মান হতে হবে নাকি @bool/watch_face_available_in_retail এর মতো একটি বুলিয়ান মানের রেফারেন্স হতে হবে।

ডিফল্ট মান: false

MultipleInstancesAllowed

ওয়াচফেসে একাধিক পছন্দের তালিকা থাকতে পারে কিনা। এটি অবশ্যই একটি বুলিয়ান মান হতে হবে, নাকি @bool/watch_face_multiple_instances_allowed এর মতো একটি বুলিয়ান মানের রেফারেন্স হতে হবে।

ডিফল্ট মান: false

Editable

ঘড়ির মুখটি সম্পাদনাযোগ্য কিনা, যার অর্থ হল ঘড়ির মুখটিতে একটি সেটিং আছে অথবা কমপক্ষে একটি অ-স্থির জটিলতা আছে। এটি পছন্দের তালিকায় ঘড়ির মুখের জন্য সম্পাদনা বোতামটি দেখানো বা লুকানোর জন্য ব্যবহৃত হয়।

ডিফল্ট মান: মিথ্যা

ঘড়ির মুখের নাম ঘোষণা করুন

আপনার অ্যাপের ম্যানিফেস্ট ফাইলে ( AndroidManifest.xml ), application এলিমেন্টে android:label অ্যাট্রিবিউটটি আপনার ওয়াচফেসের নামে সেট করুন।

ওয়াচফেসের বিবরণ ঘোষণা করুন

একটি মৌলিক WFF ওয়াচফেস ডকুমেন্টের গঠন নিম্নরূপ:

<WatchFace width="450" height="450">
    <Scene>
        <!-- Content to be rendered -->
    </Scene>
</WatchFace>

অ্যান্ড্রয়েড স্টুডিও টেমপ্লেটটি res/raw/watchface.xml তে একটি মৌলিক ডকুমেন্ট প্রদান করে। বিভিন্ন স্ক্রিন আকার এবং আকার সমর্থন করতে, একাধিক আকার এবং আকারের জন্য সমর্থন ঘোষণা করুন

মূল উপাদানটি সর্বদা WatchFaceheight এবং width আপনার ওয়াচফেসে ব্যবহারের জন্য স্থানাঙ্ক স্থানের পরিমাণ নির্ধারণ করে এবং ওয়াচফেসটি যে ডিভাইসে ব্যবহার করা হচ্ছে তার সাথে মানানসইভাবে স্কেল করা হয়; height এবং width প্রকৃত পিক্সেল প্রতিনিধিত্ব করে না।

ওয়াচ ফেস ফর্ম্যাট আপনার ওয়াচ ফেস সম্পর্কে বেশ কিছু বিবরণ সংগঠিত করে:

  • মেটাডেটা , যেমন আপনার ওয়াচফেসের প্রিভিউ ছবিতে দেখানো সময় এবং ধাপের গণনা।
  • ব্যবহারকারীর কনফিগারেশন , যেমন আপনার ওয়াচফেসের জন্য বিভিন্ন রঙের থিম, ব্যবহারকারী-টগলযোগ্য উপাদান এবং বিভিন্ন উপাদানের মধ্যে একটি পছন্দ। ওয়াচফেস ফর্ম্যাট সংস্করণ 2 ফ্লেভারগুলি প্রবর্তন করে, যা একটি ব্যবহারকারীর কনফিগারেশনের মধ্যে উপস্থিত হতে পারে। প্রতিটি ফ্লেভার একটি প্রিসেট ব্যবহারকারী কনফিগারেশন নির্দিষ্ট করে, যা আপনার ওয়াচফেসে সময়ের সাথে প্রদর্শিত উপাদানগুলির ধরণ এবং শৈলী নির্দিষ্ট করে। এই প্রিসেটগুলি আপনার জন্য দৃশ্যত মনোরম উপাদানগুলির গ্রুপ তৈরি করা সহজ করে তোলে। Wear OS কম্প্যানিয়ন অ্যাপে, ব্যবহারকারীরা একটি স্ক্রোলযোগ্য সারিতে আপনার ওয়াচফেসের বিভিন্ন স্বাদ দেখতে পান।
  • একটি দৃশ্য যেখানে একটি ওয়াচফেসের ভিজ্যুয়াল উপাদান থাকে। দৃশ্যের শেষের কাছাকাছি প্রদর্শিত উপাদানগুলি অন্যান্য উপাদানের উপরে প্রদর্শিত হয়, তাই সাধারণ ক্রমটি নিম্নরূপ:
    • অ্যানালগ ঘড়ির জন্য হাত অথবা ডিজিটাল ঘড়ির জন্য লেখা
    • জটিলতা যা অতিরিক্ত তথ্য দেখায়, যেমন সপ্তাহের দিন বা ব্যবহারকারীর পদক্ষেপ গণনা
    • অন্যান্য গ্রাফিক্স যা ঘড়ির মুখের জন্য ভিজ্যুয়াল আগ্রহ বা সজ্জা প্রদান করে, যেমন ক্যাম্পসাইটের ছবি
  • উপাদানের গ্রুপ , যা আপনাকে একই সময়ে একাধিক উপাদান পরিবর্তন করতে দেয়। আপনি একটি দৃশ্যের মধ্যে এই গ্রুপগুলির বিভিন্ন রূপ তৈরি করতে পারেন, যা আপনাকে সিস্টেমটি পাওয়ার-সেভিং অ্যাম্বিয়েন্ট মোডে প্রবেশ করলে বেছে বেছে কন্টেন্ট লুকাতে বা পরিবর্তন করতে দেয়।

বৈশিষ্ট্যগুলি দৃঢ়ভাবে টাইপ করা হয় এবং ওয়াচফেস তৈরি করার সময় বেশিরভাগ ত্রুটির উৎস এড়াতে ফ্রিকোয়েন্সি এবং বৈধ মান সম্পর্কে নির্দেশিকা থাকে।

ঘড়ির মুখের আকারের জন্য সমর্থন ঘোষণা করুন (ঐচ্ছিক)

এই ধাপটি শুধুমাত্র তখনই প্রয়োজনীয় যখন আপনি বিভিন্ন আকারের ঘড়ির মুখের জন্য ভিন্ন আচরণ সমর্থন করতে চান। যদি আপনি আপনার ঘড়ির মুখটি ঘড়ির আকারের সাথে মানানসই হয়ে উঠতে চান তবে আপনি এই ধাপটি এড়িয়ে যেতে পারেন।

আপনার অ্যাপের res/xml রিসোর্স ডিরেক্টরিতে, watch_face_shapes.xml এ আপনি যে ওয়াচফেস শেপগুলি সমর্থন করেন তার সেট ঘোষণা করুন:

<WatchFaces>
    <WatchFace shape="CIRCLE" width="300" height="300"
        file="@raw/watchface_basic"/>
    <WatchFace shape="CIRCLE" width="450" height="450"
        file="@raw/watchface"/>
</WatchFaces>

তারপর, প্রতিটি ঘড়ির মুখের আকৃতির জন্য আপনার ঘড়ির মুখের চেহারা এবং আচরণ নির্ধারণ করুন। যদি আপনি একটি আকার ফাইল সংজ্ঞায়িত না করে থাকেন, তাহলে আপনার কেবল একটি ফাইলের প্রয়োজন, watchface.xml

এই বিভাগের উদাহরণ ব্যবহার করে, কাঁচা XML ফাইলগুলি হবে:

  • res/raw/watchface.xml
  • res/raw/watchface_basic.xml

ওয়াচফেস প্রকাশক শনাক্ত করুন (ঐচ্ছিক)

ঐচ্ছিকভাবে, আপনার অ্যাপের ম্যানিফেস্ট ফাইলে, একটি ইচ্ছামত স্ট্রিং ঘোষণা করুন যা আপনি ওয়াচফেসের প্রকাশক, অথবা আপনি যে টুলটির নাম এবং সংস্করণ ব্যবহার করছেন তা সনাক্ত করতে ব্যবহার করতে পারেন:

<property
    android:name="com.google.wear.watchface.format.publisher"
    android:value="{toolName}-{toolVersion}" />

আপনার ঘড়ির মুখের সঠিকতা এবং কর্মক্ষমতা পরীক্ষা করুন

ডেভেলপমেন্টের সময় এবং গুগল প্লেতে আপলোড করার আগে, অ্যান্ড্রয়েড স্টুডিওতে অন্তর্নির্মিত ওয়াচ ফেস ফর্ম্যাট যাচাইকরণ ব্যবহার করে আপনার ওয়াচফেসটি সিনট্যাক্স ত্রুটিমুক্ত কিনা তা পরীক্ষা করুন। এটি স্বয়ংক্রিয়ভাবে আপনার কোডের ত্রুটিগুলি হাইলাইট করে এবং সংস্করণ-সচেতন।

মেমোরি ফুটপ্রিন্ট টুলটি ব্যবহার করে আপনার ওয়াচফেস মেমোরি ব্যবহারের প্রয়োজনীয়তা পূরণ করে কিনা তাও পরীক্ষা করা উচিত।

আপনার ওয়াচফেস অ্যাপ বান্ডেল তৈরি করুন

আপনার ওয়াচ ফেস তৈরি এবং স্থাপন করার সবচেয়ে সহজ উপায় হল অ্যান্ড্রয়েড স্টুডিও, যা ওয়াচ ফেস রান কনফিগারেশনের জন্য অন্তর্নির্মিত সমর্থন করে। রান বোতামে ক্লিক করার পরে, অ্যান্ড্রয়েড স্টুডিও ডিভাইস বা এমুলেটরে ওয়াচ ফেস স্থাপন করে এবং এটিকে সক্রিয় ওয়াচ ফেস হিসাবে সেট করে।

নমুনা ঘড়ির মুখগুলি

ওয়াচ ফেস ফর্ম্যাট প্রকল্পের আরও নমুনা GitHub-এ পাওয়া যাবে

{% অক্ষরে অক্ষরে %} {% এন্ডভারব্যাটিম %} {% অক্ষরে অক্ষরে %} {% এন্ডভারব্যাটিম %}