Sobes.tech
Junior

როგორ ხორციელდება ნავიგაცია 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 (සැලසුම් කළ Intents): විශේෂිත කොම්පොනන්ට් එකක් (Activity, Service, BroadcastReceiver) ආරම්භ කිරීමට භාවිතා වේ, එමඟින් යෙදුම තුළ හෝ වෙනත් යෙදුමක.

    // Activity ආරම්භ කිරීමේ උදාහරණයක්
    val intent = Intent(this, SettingsActivity::class.java)
    startActivity(intent)
    
  • Implicit Intents (අසැලසුම් Intents): ක්‍රියාවක් සිදු කිරීමට හා එයට අදාළ දත්ත ලබා දීමට භාවිතා වේ. Android පද්ධතිය මෙම Intents සඳහා සුදුසු කොම්පොනන්ට් සොයා ගනී.

    // වෙබ් පිටුවක් විවෘත කිරීමේ උදාහරණයක්
    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 (ආපසු යාමේ තැටිය) සහාය දක්වයි, එය නාවිකේෂන් ඉතිහාසය කළමනාකරණය කරයි. "ආපසු" බොත්තම මූලිකව පරිශීලකයාට Stack හි පෙර අයිතමයට ගෙන යයි.

  • BottomNavigationView: යෙදුමේ ඉහළ මට්ටමේ ගමන් මාර්ග අතර නාවිකේෂන් සඳහා UI කොම්පොනන්ට් එකක්.

  • DrawerLayout (Navigation Drawer): පසෙකින් පිටතට හැරෙන පැනලයක්, මෙනු අයිතම සමඟ නාවිකේෂන් සඳහා.

සෑම ක්‍රමයකටම තමන්ගේ වාසි සහ භාවිතා අවස්ථා ඇත. Navigation Component යනු ෆ්‍රැග්මන්ට් සහ ක්‍රියාකාරකම් අතර නාවිකේෂන් කළමනාකරණය සඳහා ප්‍රියතම ක්‍රමය වන අතර, ඒකක ආකෘතියක් සහිතව, ආපසු යාමේ තැටිය සහ තර්කයන් සමඟ වැඩ කිරීම පහසු කරයි. Intents භාවිතා කරයි වෙනත් කොම්පොනන්ට් ආරම්භ කිරීමට සහ වෙනත් යෙදුම් සමඟ අන්තර්ක්‍රියාවන් සඳහා।