Sobes.tech
Junior

Android-ში რა სახის ნავიგაციას იცით?

sobes.tech AI

პასუხი AI-სგან

Android-ში არსებობს რამდენიმე ძირითადი ნავიგაციის მეთოდი:

  • ზედა (დაბრუნება ერთ დონეზე ზევით): ჩვეულებრივ, რეალიზებულია ActionBar/Toolbar-ის სლაკის ღილაკით. აბრუნებს მომხმარებელს პროგრამის ლოგიკურ ჰიერქიაში წინა ეკრანზე:
  • უკან (დაბრუნება): რეალიზებულია სისტემის "უკან" ღილაკით. აბრუნებს მომხმარებელს წინა ეკრანზე, რომელიც მან ნახა:
  • მთავარი (მთავარი ეკრანი): დაბრუნება პროგრამის ან მოწყობილობის მთავარი ეკრანზე:
  • გაღრმავებული ლინკები (Deep Links): პირდაპირ გადასვლა კონკრეტულ ეკრანზე ან რესურსზე პროგრამის შიგნით ლინკით. შეიძლება იყოს შექმნილი გარედან (ვებ, სხვა პროგრამები) ან პროგრამის შიგნით:
  • ნავიგაციური სარკე (Navigation Drawer): გვერდითი გამავალი პანელი, რომელიც შეიცავს ბმულებს სხვადასხვა განყოფილებებზე:
  • ქვედა ნავიგაციის ზოლი (Bottom Navigation Bar): ზოლი ეკრანის ქვედა ნაწილში, რომელიც საშუალებას აძლევს სწრაფად გადართვას ძირითად განყოფილებებზე:

ნავიგაციის რეალიზაციის ძირითადი მიდგომები:

  • startActivityForResult და onActivityResult გამოყენება: ძველი მეთოდი მონაცემების გადაცემისთვის Activity-ებს შორის:
  • მონაცემების გადაცემა Intent Extras-ის საშუალებით: მარტივი მეთოდი პრიმიტიული მონაცემებისა და სერილიზებადი/პარცელიზებადი ობიექტების გადაცემისთვის Activity-ებს შორის:
  • FragmentTransaction: ფრაგმენტების მართვა (დამატება, შეცვლა, წაშლა და ა.შ.) ნავიგაციისთვის within Activity:
  • Navigation Component: ოფიციალური ბიბლიოთეკა Google-დან, რომელიც ამარტივებს ნავიგაციას სხვადასხვა კომპონენტებს შორის (Activity, Fragment, Custom Views). უზრუნველყოფს ნავიგაციის გრაფის გრაფიკული რედაქტორს, არგუმენტების გადაცემას და უკანა სტეკის მართვას:
// Navigation Component-ის მაგალითი
findNavController().navigate(R.id.action_currentFragment_to_nextFragment)

// არგუმენტების გადაცემა Navigation Component-ის საშუალებით
val bundle = Bundle()
bundle.putString("key", "value")
findNavController().navigate(R.id.action_currentFragment_to_nextFragment, bundle)