নেভিগেশন

কম্পোজ পদ্ধতিটি চেষ্টা করুন
Wear OS-এর জন্য Jetpack Compose হলো প্রস্তাবিত UI টুলকিট।

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

ডিজাইন

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

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

চিত্র ১. উল্লম্ব কন্টেইনারের শীর্ষে সবচেয়ে গুরুত্বপূর্ণ বিষয়বস্তু রাখুন।

ব্যবহারকারীরা যখন আপনার কোনো স্ক্রিনে প্রবেশ করেন, তখন নিশ্চিত করুন যেন তারা ব্যাক স্ট্যাকের নিচের দিকে যাওয়ার জন্য সোয়াইপ-টু-ডিসমিস জেসচারটি ব্যবহার করতে পারেন।

নেভিগেশন বাস্তবায়ন করুন

আপনার নেভিগেশন বাস্তবায়নের সময়, আপনার কাছে তিনটি বিকল্প থাকে, যা নিম্নলিখিত বিভাগগুলিতে বর্ণনা করা হয়েছে:

  • শুধুমাত্র কার্যকলাপ, যা প্রস্তাবিত পদ্ধতি।
  • কার্যকলাপ এবং খণ্ডাংশ
  • জেটপ্যাক নেভিগেশন

শুধুমাত্র কার্যকলাপ

যেহেতু ভার্টিকাল স্ক্রিনগুলো সাধারণত এক লেভেল গভীর হয়, তাই আপনি ফ্র্যাগমেন্ট ব্যবহার না করেই অ্যাক্টিভিটির মাধ্যমে আপনার সমস্ত স্ক্রিন তৈরি করতে পারেন।

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

দ্রষ্টব্য: আপনি যদি ফ্র্যাগমেন্ট ব্যবহার না করেন, তবে আপনার অ্যাক্টিভিটিগুলোকে ComponentActivity থেকে ইনহেরিট করান। অন্যান্য অ্যাক্টিভিটি টাইপগুলো মোবাইল-নির্দিষ্ট UI এলিমেন্ট ব্যবহার করে, যা Wear OS-এর জন্য আপনার প্রয়োজন নেই।

কার্যকলাপ এবং খণ্ডাংশ

আপনি আপনার Wear OS অ্যাপে অ্যাক্টিভিটিগুলোর সাথে ফ্র্যাগমেন্ট ব্যবহার করতে পারেন। তবে, আমরা এর সুপারিশ করি না, কারণ একটি শ্যালো এবং ফ্ল্যাট আর্কিটেকচার তৈরি করতে ফ্র্যাগমেন্ট ব্যবহারের কোনো সুস্পষ্ট সুবিধা নেই।

দ্রষ্টব্য: আপনি যদি ফ্র্যাগমেন্ট ব্যবহার করেন, তবে সেগুলোকে FragmentActivity থেকে ইনহেরিট করান। অন্যান্য অ্যাক্টিভিটি টাইপগুলো মোবাইল-নির্দিষ্ট UI এলিমেন্ট ব্যবহার করে, যা Wear OS-এর জন্য আপনার প্রয়োজন নেই।

আপনার Wear OS অ্যাপে ফ্র্যাগমেন্ট ব্যবহার করার ক্ষেত্রে কিছু অসুবিধা নিচে উল্লেখ করা হলো:

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

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

দ্রষ্টব্য: ফ্র্যাগমেন্ট ব্যবহার করার সময়, সোয়াইপ-টু-ডিসমিস জেসচার সমর্থন করার জন্য FragmentManager.add এর পরিবর্তে FragmentManager.replace ব্যবহার করুন। এটি নিশ্চিত করতে সাহায্য করে যে, সোয়াইপ করে সরিয়ে দেওয়ার সময় আপনার পূর্ববর্তী ফ্র্যাগমেন্টটি উপরের ফ্র্যাগমেন্টের নিচে রেন্ডার হয়।

জেটপ্যাক নেভিগেশন

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

জেটপ্যাক নেভিগেশনের সম্পূর্ণ সুবিধা নিতে, নিম্নলিখিতগুলি করুন:

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