চলমান টাস্ক প্যাটার্ন

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

সেই সাথে, আপনি ডিজাইন, ডেভেলপমেন্ট এবং ডিস্ট্রিবিউশন টিপসও শিখবেন যা আপনার নিজের গ্লাসওয়্যার তৈরির জন্য গুরুত্বপূর্ণ।

তুমি শুরু করার আগে

স্টপওয়াচের সম্পূর্ণ উৎস Github এ উপলব্ধ। আপনি শুরু করার আগে এটিকে অ্যান্ড্রয়েড স্টুডিওতে আমদানি করুন, কারণ এই নির্দেশিকাটি এটিকে ব্যাপকভাবে উল্লেখ করে।

  1. কুইক স্টার্ট স্ক্রীন থেকে সংস্করণ নিয়ন্ত্রণ > গিট থেকে চেক আউট ক্লিক করুন।
  2. স্টপওয়াচ থেকে ক্লোন URLটি অনুলিপি করুন।
  3. Vcs সংগ্রহস্থলের URL- এ ক্লোন URL পেস্ট করুন এবং ক্লোন ক্লিক করুন।
  4. নিচের স্ক্রিনে হ্যাঁ ক্লিক করুন।
  5. নিচের স্ক্রিনে ওকে ক্লিক করুন।
  6. প্রকল্পটি তৈরি করুন এবং প্লে বোতামে ক্লিক করে আপনার সংযুক্ত গ্লাসে এটি চালান৷ অনুরোধের বিশদ বিবরণের জন্য নমুনার README চেক করতে ভুলবেন না।

আপনি কি শিখবেন

আপনি শিখবেন কিভাবে Android SDK থেকে কম্পোনেন্ট ব্যবহার করতে হয় স্টপওয়াচ চলমান টাস্কের বাল্ক তৈরি করতে এবং তারপর GDK কে গ্লাসের অভিজ্ঞতার সাথে যুক্ত করতে। এখানে এমন বিষয়গুলির একটি তালিকা রয়েছে যা আপনি শিখবেন:

  • লাইভ কার্ডে আঁকার জন্য একটি কাস্টম ভিউ তৈরি করা
  • লাইভ কার্ড পরিচালনা করার জন্য একটি পরিষেবা তৈরি করা
  • একটি মেনু প্রদান করা যা ব্যবহারকারীদের টাইমলাইন থেকে লাইভ কার্ড সরাতে দেয়
  • প্রধান ভয়েস মেনু থেকে স্টপওয়াচ শুরু করার জন্য একটি ভয়েস ট্রিগার ঘোষণা করা হচ্ছে

ডিজাইন

আপনি বিকাশ শুরু করার আগে, কিছু সময় নিন এবং আপনার গ্লাসওয়্যার ডিজাইন করুন। এটি করার ফলে আপনি গ্লাসে কোন UI প্রবাহ সবচেয়ে ভাল কাজ করে, আপনি কোন ভয়েস কমান্ড ব্যবহার করবেন এবং আপনার কার্ডগুলি কেমন হবে সে সম্পর্কে একটি ভাল ধারণা দেয়৷

অবশ্যই, গ্লাসওয়্যার ডিজাইন করা একটি পুনরাবৃত্ত প্রক্রিয়া এবং আপনি এখন ডিজাইন করেছেন এমন কিছু জিনিস পরিবর্তিত হবে, তবে শুরুতে করা এই কাজের একটি ভাল অংশ থাকা একটি দুর্দান্ত অভিজ্ঞতা তৈরি করার জন্য গুরুত্বপূর্ণ।

UI প্রবাহ

UI ফ্লো ডিজাইন করা একটি সহজ ব্যায়াম এবং আপনাকে কোডের একটি লাইন লেখার আগে আপনার গ্লাসওয়্যারটি কল্পনা করতে দেয়৷ আমরা যে গ্লাসওয়্যার তৈরি করি তার জন্য আমরা এটি সব সময় করি!

চলুন স্টপওয়াচের প্রধান UI উপাদানগুলি দেখে নেওয়া যাক, যাতে আপনি UI কীভাবে কাজ করে এবং আপনার নিজের গ্লাসওয়্যার তৈরি করার সময় এই প্রক্রিয়াটি কতটা সহায়ক হতে পারে সে সম্পর্কে একটি ধারণা পাবেন।

প্রধান UI

স্টপওয়াচে শুধুমাত্র একটি প্রধান প্রবাহ রয়েছে, কারণ এটি একটি মোটামুটি সহজ অভিজ্ঞতা।

ব্যবহারকারীরা যখন গ্লাসওয়্যার ব্যবহার করে, তখন প্রকৃত স্টপওয়াচ শুরু হওয়ার আগে তাদের একটি 3-সেকেন্ডের কাউন্টডাউন ইন্টারস্টিশিয়াল উপস্থাপন করা হয়। ব্যবহারকারী স্টপ মেনু আইটেম দিয়ে টাইমলাইন থেকে সরিয়ে না দেওয়া পর্যন্ত স্টপওয়াচটি গণনা করা হবে।

ভয়েস কমান্ড

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

উদাহরণস্বরূপ, পোস্ট একটি আপডেট কমান্ড একটি ফায়ার-এন্ড-ফোরগেট মডেলে ভাল কাজ করে, যেখানে ব্যবহারকারীরা টেক্সট কথা বলে এবং গ্লাসওয়্যার ব্যবহারকারীর হস্তক্ষেপ ছাড়াই এটি প্রক্রিয়া করে। এটি ব্যবহারকারীদের তারা যা করছে তা দ্রুত ফিরে পেতে দেয়।

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

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

কার্ড লেআউট

আপনি নিমজ্জন বা লাইভ কার্ড তৈরি করছেন না কেন, সম্ভব হলে আপনার CardBuilder বা XML লেআউট ব্যবহার করা উচিত।

প্রায়শই, আপনাকে এখনও আপনার নিজস্ব লেআউট তৈরি করতে হবে তাই সর্বোত্তম চেহারার কাচের সামগ্রী পেতে আমাদের UI নির্দেশিকা অনুসরণ করুন।

স্টপওয়াচ সাধারণ লেআউট নির্দেশিকা অনুসরণ করে, কিন্তু ভিউ এবং লেআউটের মতো স্ট্যান্ডার্ড অ্যান্ড্রয়েড উপাদান ব্যবহার করে কাস্টম UI লেআউট রয়েছে।

বিকাশ করুন

লাইভ কার্ডগুলি বিকাশ করতে, আপনি একই সরঞ্জামগুলি ব্যবহার করেন যা আপনি অ্যান্ড্রয়েড বিকাশের জন্য ব্যবহার করবেন গ্লাসওয়্যারের বাল্ক তৈরি করতে এবং তারপরে লাইভ কার্ড এবং ভয়েস কমান্ডের মতো গ্লাস-নির্দিষ্ট কার্যকারিতা অ্যাক্সেস করতে GDK অ্যাড-অনে APIগুলি ব্যবহার করুন৷

আপনি প্রায়শই গ্লাসওয়্যার তৈরি করতে সাধারণ অ্যান্ড্রয়েড উপাদান ব্যবহার করবেন, তবে মনে রাখবেন যে কিছু ধারণা কখনও কখনও ভিন্ন হয়। উদাহরণস্বরূপ, আপনি একটি অ্যান্ড্রয়েড পরিষেবার সাথে লাইভ কার্ড রেন্ডার এবং পরিচালনা করেন, যা আপনি ঐতিহ্যগত অ্যান্ড্রয়েড অ্যাপে পরিষেবাগুলি ব্যবহার করার সাধারণ উপায় নয়। আরেকটি উদাহরণ হল লাইভ কার্ডগুলির নিজস্ব UI প্রসঙ্গ নেই, তাই আপনাকে একটি শেল কার্যকলাপ ব্যবহার করতে হবে যা লাইভ কার্ডের জন্য একটি মেনু প্রদর্শন করে। আপনি এই নির্দেশিকাটিতে পরে শিখবেন কীভাবে এই উপাদানগুলি তৈরি করা হয়।

বিকাশের বাকি অংশগুলি কীভাবে স্টপওয়াচ গঠন করা হয় এবং আপনি আগে আমদানি করা প্রকল্পের প্রধান উপাদানগুলি নিয়ে যান৷ আপনি যাতে অনুসরণ করতে পারেন সেজন্য এখনই Android স্টুডিও চালু রাখা উপকারী। সোর্স কোডটি নিজেই মন্তব্য করা হয়েছে, তাই এই বিভাগটি প্রতিটি ফাইলের উচ্চ-স্তরের উদ্দেশ্য এবং সহায়ক টিপস যা আপনি আপনার নিজের গ্লাসওয়্যারে প্রয়োগ করতে পারেন।

ভয়েস কমান্ড

আপনি একটি XML রিসোর্স ফাইলের সাহায্যে ভয়েস কমান্ড তৈরি করেন যা আপনি যে কমান্ডটি ব্যবহার করছেন সেটি নির্দিষ্ট করে এবং তারপর AndroidManifest.xml ফাইলে XML রিসোর্স উল্লেখ করে।

নিম্নলিখিত ফাইলগুলি স্টপওয়াচ ভয়েস কমান্ডের সাথে যুক্ত:

  • res/xml/voice_trigger_start.xml - ব্যবহার করার জন্য ভয়েস কমান্ড ঘোষণা করে।
  • AndroidManifest.xml - ভয়েস কমান্ড বলা হলে লাইভ কার্ড পরিষেবা শুরু করার ঘোষণা দেয়।

কাউন্টডাউন ভিউ

স্টপওয়াচটি সময় রেকর্ড করার আগে একটি কাউন্টডাউন দেখায় যাতে ব্যবহারকারীদের সময় শেষ হতে চলেছে।

নিম্নলিখিত ফাইলগুলি গণনা দৃশ্যের সাথে যুক্ত:

  • res/layout/card_countdown.xml - কাউন্টডাউন দর্শকের জন্য বিন্যাস সংজ্ঞায়িত করে
  • src/com/google/android/glass/sample/stopwatch/CountDownView.java - কাউন্টডাউনের জন্য দৃশ্য সংজ্ঞায়িত করে।

ক্রোনোমিটার ভিউ

এটি স্টপওয়াচের প্রধান দৃশ্য। কাউন্টডাউন ইন্টারস্টিশিয়াল সম্পূর্ণ হওয়ার পর থেকে এটি অতিবাহিত সময় প্রদর্শন করে। নিম্নলিখিত ফাইলগুলি ক্রোনোমিটার দৃশ্যের সাথে যুক্ত:

  • res/layout/card_chronometer.xml - স্টপওয়াচ দৃশ্যের জন্য বিন্যাস সংজ্ঞায়িত করে
  • src/com/google/android/glass/sample/stopwatch/ChronometerDrawer.java - কিভাবে ভিউ রেন্ডার করতে হয় তা সংজ্ঞায়িত করে। লাইভ কার্ড পরিষেবা এই ক্লাসটিকে লাইভ কার্ড পরিষেবাতে আঁকতে ডাকে।
  • src/com/google/android/glass/sample/stopwatch/ChronometerView.java - স্টপওয়াচ ভিউ যা পূর্ববর্তী লেআউটটিকে UI হিসাবে ব্যবহার করে৷

স্টপওয়াচ পরিষেবা

এটি সেই পরিষেবা যা লাইভ কার্ডের জীবনচক্র এবং রেন্ডারিং পরিচালনা করে। নিম্নলিখিত ফাইলগুলি এই পরিষেবার সাথে যুক্ত:

  • src/com/google/android/glass/sample/stopwatch/StopwatchService.java - স্টপওয়াচ লাইভ কার্ড পরিচালনা করে এবং পরিষেবা জীবনচক্র পরিচালনা করে।

মেনু প্রদর্শনের জন্য লাইভ কার্ডের নিজস্ব UI প্রসঙ্গ নেই কারণ তারা টাইমলাইনের প্রসঙ্গে তাদের UI রেন্ডার করে।

এই সীমাবদ্ধতাটি পেতে, আপনি একটি স্বচ্ছ কার্যকলাপ তৈরি করেন যা টাইমলাইনের উপরে প্রদর্শিত হয় এবং ব্যবহারকারীরা লাইভ কার্ডে ট্যাপ করার সাথে সাথেই সেই কার্যকলাপের মেনু প্রদর্শন করে।

  • src/com/google/android/glass/sample/stopwatch/MenuActivity.java - স্বচ্ছ মেনু কার্যকলাপ ঘোষণা করে যা কার্যকলাপটি দৃশ্যমান হলে অবিলম্বে মেনু দেখায়।
  • res/values/styles.xml - মেনুতে প্রয়োগ করা স্বচ্ছ শৈলী সংজ্ঞায়িত করে।
  • res/menu/stopwatch.xml - মেনু সংস্থান যাতে বাধ্যতামূলক স্টপ মেনু আইটেম থাকে।

অ্যান্ড্রয়েড ম্যানিফেস্ট

AndroidManifest.xml ফাইলটি আপনার গ্লাসওয়্যারের প্রধান উপাদানগুলি বর্ণনা করে যাতে সিস্টেম এটি কীভাবে চালাতে হয় তা জানে৷ Charades এর জন্য ম্যানিফেস্ট নিম্নলিখিত জিনিসগুলি ঘোষণা করে:

  • গ্লাসওয়্যারের আইকন এবং নাম। একাধিক গ্লাসওয়্যার একই ভয়েস কমান্ডে সাড়া দিলে গ্লাস প্রধান টাচ মেনুতে এই তথ্য প্রদর্শন করে।
  • স্টপওয়াচের সাথে সম্পর্কিত সমস্ত পরিষেবা এবং ক্রিয়াকলাপ। আপনার গ্লাসওয়্যারের উপাদানগুলি কীভাবে শুরু করবেন তা সিস্টেমের জন্য এটি প্রয়োজনীয়।
  • ভয়েস কমান্ড এবং একটি ইন্টেন্ট ফিল্টার যা ভয়েস কমান্ড বলার সময় লাইভ কার্ড পরিষেবা শুরু করে।
  • গ্লাসওয়্যারের জন্য একটি সংস্করণ কোড। এই APK-এর একটি নতুন সংস্করণ MyGlass-এ আপলোড করা হলে এই কোডটি অবশ্যই আপডেট করতে হবে (এবং সাধারণত সংস্করণের নামটিও)।