Android ilovalarida navigatsiya qanday amalga oshiriladi?
sobes.tech AI
AIdan javob
Android dasturlarida navigatsiya turli usullar bilan amalga oshirilishi mumkin, ularning eng keng tarqalganlari quyidagilardir:
-
Navigatsiya komponentlari (Navigation Component): Google tomonidan tavsiya etilgan navigatsiya amalga oshirish uchun ramka. Barcha ekranlar va ular orasidagi o'tishlarni tavsiflash uchun navigatsiya diagrammasidan foydalanadi. Argumentlar, chuqur bog'lanishlar, o'tish animatsiyalarini qo'llab-quvvatlaydi.
// Navigatsiya diagrammasi misoli <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 yordamida o'tish misoli findNavController().navigate(R.id.action_fragmentA_to_fragmentB) -
Aniq intenty (Explicit Intents): Biror komponentni (Activity, Service, BroadcastReceiver) ishga tushirish uchun ishlatiladi, yoki ichki yoki tashqi ilovada.
// Activityni ishga tushirish misoli val intent = Intent(this, SettingsActivity::class.java) startActivity(intent) -
Noma'lum intenty (Implicit Intents): Amalni va bu amal bajarilishi uchun ma'lumotlarni e'lon qiladi. Android tizimi bu intentni ishlash uchun mos komponentni topadi.
// Veb sahifani ochish misoli val webpage = Uri.parse("http://www.android.com") val intent = Intent(Intent.ACTION_VIEW, webpage) if (intent.resolveActivity(packageManager) != null) { startActivity(intent) } -
Orqaga qaytish yiginini boshqarish (Back Stack): Android tizimi orqaga qaytish yiginini saqlaydi, bu navigatsiya tarixini boshqaradi. "Orqaga" tugmasi foydalanuvchini yigining oldingi elementiga olib boradi.
-
BottomNavigationView: ilovada asosiy maqsadlar orasida navigatsiya uchun UI komponenti.
-
DrawerLayout (Navigation Drawer): yon panel, menyu elementlari bilan, navigatsiya uchun.
Har bir usul o'zining afzalliklari va foydalanish holatlari bilan. Navigation Component, fragmentlar va faoliyatlar o'rtasidagi navigatsiyani boshqarish uchun afzal ko'riladi, yagona yondashuvni ta'minlaydi va orqaga qaytish yiginini va argumentlarni boshqarishni soddalashtiradi. Intents esa boshqa komponentlarni ishga tushirish va boshqa ilovalar bilan interaktivlik uchun ishlatiladi.