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)