Android колдонмолорунда навигация кандай жүргүзүлөт?
sobes.tech AI
AIден жооп
Android тиркемелеринде навигация ар кандай жолдор менен ишке ашырылышы мүмкүн, алардын ичинен эң кеңири тарагандары:
-
Навигациялык компоненттер (Navigation Component): Google тарабынан сунушталган навигацияны ишке ашыруу үчүн колдонулган каркас. Бардык экрандар жана алардын ортосундагы өтүүлөрдү сүрөттөө үчүн навигация графигин колдонуп, аргументтерди, терең шилтемелерди жана өтүү анимацияларын колдойт.
// Навигация графигинин мисалы <navigation xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/nav_graph" app:startDestination="@id/fragmentA"> <fragment android:id="@+id/fragmentA" android:name="com.example.myapp.FragmentA" android:label="Fragment A"> <action android:id="@+id/action_fragmentA_to_fragmentB" app:destination="@id/fragmentB" /> </fragment> <fragment android:id="@+id/fragmentB" android:name="com.example.myapp.FragmentB" android:label="Fragment B" /> </navigation>// Safe Args колдонуп өтүү мисалы findNavController().navigate(R.id.action_fragmentA_to_fragmentB) -
Ачык интенттер (Explicit Intents): Тийиштүү компонентти (Activity, Service, BroadcastReceiver) иштетүү үчүн колдонулат, ошол эле тиркемеде же башка тиркемеде.
// Activity иштетүү мисалы val intent = Intent(this, SettingsActivity::class.java) startActivity(intent) -
Жасалма интенттер (Implicit Intents): Аткарылуучу иш-аракетти жана анын аткарылышы үчүн керектүү маалыматтарды билдирет. Android системеси бул интентти иштетүүчү ылайыктуу компонентти табат.
// Веб-баракчаны ачуу мисалы val webpage = Uri.parse("http://www.android.com") val intent = Intent(Intent.ACTION_VIEW, webpage) if (intent.resolveActivity(packageManager) != null) { startActivity(intent) } -
Back Stackти башкаруу: Android системеси Back Stackти колдойт, ал навигациянын тарыхын башкарат. "Кайтуу" баскычы автоматтык түрдө колдонуучуну стектин алдыңкы пунктүнө которот.
-
BottomNavigationView: UI компоненти, тиркемедеги жогорку деңгээлдеги максаттар арасында навигация үчүн.
-
DrawerLayout (Navigation Drawer): Жаактан чыгаруучу панель менен меню пункттары аркылуу навигация.
Ар бир ыкма өзүнүн артыкчылыктары жана колдонуу сценарийлери бар. Navigation Component — фрагменттер жана активиттер арасындагы навигацияны башкарууда артыкчылыктуу, бирдиктүү ыкма камсыз кылып, стек жана аргументтер менен иштөөнү жеңилдетет. Интенттер башка компоненттерди иштетүү жана башка тиркемелер менен өз ара аракеттенүү үчүн колдонулат.