Junior
Jakie znasz sposoby nawigacji w Androidzie?
sobes.tech AI
Odpowiedź od AI
Istnieje kilka głównych sposobów nawigacji na Androidzie:
- W górę (Powrót o jeden poziom w górę): Zazwyczaj realizowane za pomocą przycisku ze strzałką w ActionBar/Toolbar. Przenosi użytkownika do poprzedniego ekranu w hierarchii logicznej aplikacji.
- Wstecz (Powrót): Realizowane za pomocą systemowego przycisku "Wstecz". Przenosi użytkownika do poprzedniego ekranu, który odwiedził.
- Strona główna (Home): Powrót do głównego ekranu aplikacji lub urządzenia.
- Głębokie linki (Deep Links): Bezpośredni dostęp do konkretnego ekranu lub zasobu w aplikacji za pomocą linku. Mogą być tworzone z zewnętrznych źródeł (web, inne aplikacje) lub w samej aplikacji.
- Nawigacyjny szuflada (Navigation Drawer): Boczny wysuwany panel zawierający linki do różnych sekcji aplikacji.
- Dolny pasek nawigacji (Bottom Navigation Bar): Panel na dole ekranu umożliwiający szybkie przełączanie między głównymi sekcjami aplikacji.
Główne podejścia do realizacji nawigacji:
- Użycie
startActivityForResultionActivityResult: Przestarzały sposób przekazywania danych między aktywnościami. - Przekazywanie danych przez Extras w Intent: Prosty sposób przekazywania danych prymitywnych i obiektów serializowalnych/parcjalizowalnych między aktywnościami.
FragmentTransaction: Zarządzanie fragmentami (dodawanie, zamiana, usuwanie itp.) dla nawigacji w obrębie aktywności.- Komponent Nawigacji (Navigation Component): Oficjalna biblioteka od Google, upraszczająca realizację nawigacji między różnymi komponentami aplikacji (Activity, Fragment, niestandardowe widoki). Zapewnia graficzny edytor grafu nawigacji, przekazywanie argumentów i zarządzanie stosikiem powrotu.
// Przykład nawigacji z Navigation Component
findNavController().navigate(R.id.action_currentFragment_to_nextFragment)
// Przekazywanie argumentów z Navigation Component
val bundle = Bundle()
bundle.putString("key", "value")
findNavController().navigate(R.id.action_currentFragment_to_nextFragment, bundle)