Sobes.tech
Middle

Milyen navigációs módok léteznek az alkalmazásban a navigációs könyvtár használata mellett?

sobes.tech MI

Válasz az MI-től

  1. Egyértelmű szándékok: Navigáció más tevékenységek között a startActivity() segítségével.

    // Szándék létrehozása az új tevékenységhez
    val intent = Intent(this, NewActivity::class.java)
    // Adatok hozzáadása az intenthez
    intent.putExtra("data_key", "valami érték")
    // Új tevékenység indítása
    startActivity(intent)
    
  2. Nem egyértelmű szándékok: Tevékenységek indítása más alkalmazásokból vagy rendszer részeiből.

    // Weboldal megnyitására szándék létrehozása
    val webpage: Uri = Uri.parse("http://www.android.com")
    val webIntent = Intent(Intent.ACTION_VIEW, webpage)
    // Olyan tevékenység indítása, amely képes kezelni ezt a szándékot
    startActivity(webIntent)
    
  3. DialogFragment: Párbeszédablakok használata információ megjelenítésére vagy bemenet kérésére a felhasználótól, amelyek további műveletekhez vagy bezáráshoz vezethetnek.

    // Dialógus példány létrehozása
    val myDialogFragment = MyDialogFragment()
    // Dialógus megjelenítése
    myDialogFragment.show(supportFragmentManager, "my_dialog")
    
  4. FragmentTransaction: A fragmentek életciklusának kézi kezelése tevékenységen belül: hozzáadás, csere, törlés.

    // FragmentManager elérése
    val fragmentManager = supportFragmentManager
    // Tranzakció indítása
    val fragmentTransaction = fragmentManager.beginTransaction()
    // Aktuális fragment cseréje újra
    fragmentTransaction.replace(R.id.fragment_container, newFragment)
    // Tranzakció hozzáadása a visszalistához
    fragmentTransaction.addToBackStack(null)
    // Tranzakció végrehajtása
    fragmentTransaction.commit()
    
  5. Single-activity architektúra kézi fragment kezeléssel: Minden navigáció egyetlen tevékenységen belül történik a megjelenített fragmentek cseréjével. Ez lényegében a FragmentTransaction strukturáltabb használata.

  6. Egyedi nézetek: Összetett és nem sablonos navigáció kialakítása saját nézetek használatával, amelyek a helyzettől függően váltanak vagy tartalmat módosítanak.

Navigációs mód Fő mechanizmus Előnyök Hátrányok
Egyértelmű szándékok Más Activity indítása osztály szerint Egyszerű átmenet Activity-k között, adatok átadása Többszörös képernyő esetén bonyolultabb
Nem egyértelmű szándékok Activity indítása akcióval/adattal Más alkalmazásokkal való interakció Korlátozott rugalmasság a belső navigációban
DialogFragment Dialógus megjelenítése Egyszerű modal ablakok megjelenítése Nem alkalmas fő navigációra
FragmentTransaction Fragment életciklus kezelése Activity-ben Rugalmas UI kezelés Kézi visszalistakezelés és állapotkezelés szükséges
Single-activity + Fragments Fragmentek cseréje Activity-ben Jó megoldás egyscreenes alkalmazásokhoz Nagy számú képernyő esetén bonyolult lehet
Egyedi nézetek Saját UI váltási logika Maximális rugalmasság és testreszabhatóság Magas fejlesztési és támogatási komplexitás