নেভিগেশন কন্ট্রোলার হলো নেভিগেশনের অন্যতম প্রধান একটি ধারণা । এটি নেভিগেশন গ্রাফ ধারণ করে এবং এমন সব মেথড প্রদান করে, যা আপনার অ্যাপকে গ্রাফের বিভিন্ন গন্তব্যের মধ্যে চলাচল করতে সাহায্য করে।
নেভিগেশন কম্পোনেন্ট ব্যবহার করার সময়, আপনি NavController ক্লাস ব্যবহার করে একটি নেভিগেশন কন্ট্রোলার তৈরি করেন। NavController হলো কেন্দ্রীয় নেভিগেশন এপিআই। এটি ব্যবহারকারী কোন কোন গন্তব্যে গিয়েছেন তার হিসাব রাখে এবং ব্যবহারকারীকে গন্তব্যগুলোর মধ্যে যাতায়াত করার সুযোগ দেয়। এই নির্দেশিকাটিতে দেখানো হয়েছে কীভাবে আপনার অ্যাপে একটি NavController তৈরি করতে হয়।
আপনার NavController এ কীভাবে একটি নেভিগেশন গ্রাফ যুক্ত করবেন সে সম্পর্কে তথ্যের জন্য, "আপনার নেভিগেশন গ্রাফ ডিজাইন করুন" দেখুন। NavController তার গ্রাফের গন্তব্যগুলিতে নেভিগেট করার জন্য কয়েকটি ভিন্ন উপায় প্রদান করে। আরও জানতে, "একটি গন্তব্যে নেভিগেট করুন" দেখুন।
রচনা করুন
Jetpack Compose ব্যবহার করার সময় একটি NavController তৈরি করতে, rememberNavController() কল করুন:
val navController = rememberNavController()
আপনার কম্পোজেবল হায়ারার্কিতে NavController উপরের দিকে তৈরি করা উচিত। এটিকে এতটা উপরে রাখতে হবে, যাতে এটিকে রেফারেন্স করতে হবে এমন সমস্ত কম্পোজেবল তা করতে পারে।
এর ফলে আপনি আপনার স্ক্রিনগুলোর বাইরের কম্পোজেবলগুলো আপডেট করার জন্য NavController তথ্যের একমাত্র উৎস হিসেবে ব্যবহার করতে পারবেন। এটি স্টেট হোয়েস্টিং -এর নীতিগুলো অনুসরণ করে।
মতামত
আপনি যদি ভিউস UI ফ্রেমওয়ার্ক ব্যবহার করেন, তাহলে প্রেক্ষাপটের উপর নির্ভর করে নিম্নলিখিত পদ্ধতিগুলোর যেকোনো একটি ব্যবহার করে আপনার NavController-কে পুনরুদ্ধার করতে পারেন:
কোটলিন:
জাভা:
-
NavHostFragment.findNavController(Fragment) -
Navigation.findNavController(Activity, @IdRes int viewId) -
Navigation.findNavController(View)
সাধারণত, প্রথমে একটি NavHostFragment নেওয়া হয় এবং তারপর সেই ফ্র্যাগমেন্ট থেকে NavController টি সংগ্রহ করা হয়। নিচের কোড স্নিপেটটিতে এটি দেখানো হয়েছে:
কোটলিন
val navHostFragment =
supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController
জাভা
NavHostFragment navHostFragment =
(NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);
NavController navController = navHostFragment.getNavController();
আরও পড়ুন
- আপনার নেভিগেশন গ্রাফ ডিজাইন করুন : আপনার
NavControllerএ কীভাবে একটি গ্রাফ যুক্ত করবেন তার বিস্তারিত নির্দেশিকা, যাতে আপনার অ্যাপের সমস্ত গন্তব্যস্থল অন্তর্ভুক্ত থাকবে। - গন্তব্যে নেভিগেট করুন : আপনার নেভিগেশন গ্রাফে বিভিন্ন গন্তব্যের মধ্যে যাতায়াত করার জন্য
NavControllerকীভাবে ব্যবহার করবেন, তার একটি বিশদ নির্দেশিকা।