Sobes.tech
Middle

Чӣ гуна роҳҳои навигатсия дар барнома вуҷуд доранд, ба ғайр аз истифодаи китобхонаи навигатсия?

sobes.tech AI

Ҷавоб аз AI

  1. Ачкӣ ниятҳо: Переход байни фаъолиятҳо бо истифодаи startActivity().

    // Эҷоди ният барои гузаштан ба NewActivity
    val intent = Intent(this, NewActivity::class.java)
    // Илова кардани маълумот ба ният
    intent.putExtra("data_key", "боз як арзиш")
    // оғоз кардани фаъолият нав
    startActivity(intent)
    
  2. Номуайян ниятҳо: Идора кардани фаъолиятҳо аз дигар барномаҳо ё қисмҳои системаи.

    // Эҷоди ният барои кушодани саҳифаи веб
    val webpage: Uri = Uri.parse("http://www.android.com")
    val webIntent = Intent(Intent.ACTION_VIEW, webpage)
    // Идора кардани фаъолият, ки метавонад ин ниятро коркард кунад
    startActivity(webIntent)
    
  3. DialogFragment: Истифодаи тирезаи муколама барои намоиши маълумот ё гирифтани воридот аз корбар, ки метавонад ба амалҳои минбаъда ё баста шудан оварда расонад.

    // Эҷоди намунаи DialogFragment
    val myDialogFragment = MyDialogFragment()
    // Намоиш додани муколама
    myDialogFragment.show(supportFragmentManager, "my_dialog")
    
  4. FragmentTransaction: Идоракунии дастӣ дар бораи давраи ҳаёти фрагментҳо дар дохили фаъолият: илова кардан, иваз кардан, нест кардан.

    // Гирифтани FragmentManager
    val fragmentManager = supportFragmentManager
    // Оғози транзаксия
    val fragmentTransaction = fragmentManager.beginTransaction()
    // Иваз кардани фрагменти ҳозира бо нав
    fragmentTransaction.replace(R.id.fragment_container, newFragment)
    // Илова кардани транзаксия ба стеки баргардон
    fragmentTransaction.addToBackStack(null)
    // Иҷрои транзаксия
    fragmentTransaction.commit()
    
  5. Тарҳрезии як фаъолият бо идоракунии дастӣ дар фрагментҳо: Ҳамаи навигатсия дар дохили як фаъолият бо иваз кардани фрагментҳои намоишӣ амалӣ мешавад. Ин, дар асл, истифодаи мураттабшудаи FragmentTransaction мебошад.

  6. Дастгирии View-ҳои махсус: Таҳия кардани навигатсияи мураккаб ва ғайри шаблонӣ бо истифодаи View-ҳои худ, ки вобаста ба ҳолати барнома мегузаранд ё тағир медиҳанд.

Тарзи навигатсия Механизми асосӣ Манфиатҳо Норасогӣ
Аниқ ниятҳо Идоракунии дигар Activity бо синф Пас аз гузариш осон, интиқоли маълумотҳо Мушкилот бо бисёр экранҳо
Номуайян ниятҳо Идоракунии Activity бо амал/маълумот Взаимодагӣ бо дигар барномаҳо Манёврияти маҳдуд барои навигатсияи дохилӣ
DialogFragment Намоиши муколамаи диалогӣ Намоиши осон ва модалӣ Барои навигатсияи асосӣ мувофиқ нест
FragmentTransaction Идоракунии ҳаёти фрагментҳо дар Activity Идоракунии UI-рофо Манёврияти дастӣ ва ҳолатро талаб мекунад
Single-activity + Fragments Иваз кардани фрагментҳо дар Activity Барои барномаҳои бо як экран хуб аст Мушкилот бо шумораи зиёди экранҳо
View-ҳои махсус Логикаи худ барои гузариш UI Гибкость ва фармоишгардонии максималӣ Гарчанде ки мураккаб аст дар таҳия ва нигоҳдорӣ