Sobes.tech
Middle

Millised navigatsiooniviisid on rakenduses olemas, välja arvatud navigatsiooniraamatukogu kasutamine?

sobes.tech AI

Vastus AI-lt

  1. Selged intents: Üleminek tegevuste vahel kasutades startActivity().

    // Uue tegevuse jaoks intentsi loomine
    val intent = Intent(this, NewActivity::class.java)
    // Andmete lisamine intentile
    intent.putExtra("data_key", "some value")
    // Uue tegevuse alustamine
    startActivity(intent)
    
  2. Kaudsed intentsid: Tegevuste käivitamine teistest rakendustest või süsteemi osadest.

    // Intentsi loomine veebilehe avamiseks
    val webpage: Uri = Uri.parse("http://www.android.com")
    val webIntent = Intent(Intent.ACTION_VIEW, webpage)
    // Tegevuse käivitamine, mis saab seda intenti töödelda
    startActivity(webIntent)
    
  3. DialogFragment: Dialoogide kasutamine teabe kuvamiseks või kasutaja sisendi saamiseks, mis võivad jätkata või sulgeda.

    // Dialoogifragmendi loomine
    val myDialogFragment = MyDialogFragment()
    // Dialoogi näitamine
    myDialogFragment.show(supportFragmentManager, "my_dialog")
    
  4. FragmentTransaction: Fragmentide käsitsi juhtimine tegevuses: lisamine, asendamine, kustutamine.

    // FragmentManageri saamine
    val fragmentManager = supportFragmentManager
    // Tehingu alustamine
    val fragmentTransaction = fragmentManager.beginTransaction()
    // Praeguse fragmaendi asendamine uuega
    fragmentTransaction.replace(R.id.fragment_container, newFragment)
    // Tehingu lisamine tagasiteele
    fragmentTransaction.addToBackStack(null)
    // Tehingu rakendamine
    fragmentTransaction.commit()
    
  5. Single-activity arhitektuur koos käsitsi fragmentide juhtimisega: Kogu navigatsioon toimub ühes tegevuses, vahetades kuvatavaid fragmaite. See on sisuliselt struktureeritum kasutus FragmentTransaction-ist.

  6. Kohandatud vaated: Kompleksne ja mittestandardne navigatsioon, kasutades oma vaateid, mis vahetuvad või muudavad sisu vastavalt rakenduse olekule.

Navigatsiooniviis Põhimõte Eelised Miinused
Selged intentsid Teise tegevuse käivitamine klassi järgi Lihtne üleminek tegevuste vahel, andmete edastamine Mitme ekraani keerukus
Kaudsed intentsid Tegevuse käivitamine tegevuse/andmete järgi Koostoised teiste rakendustega Piiratud paindlikkus sisemiseks navigatsiooniks
DialogFragment Dialoogiakna kuvamine Lihtne modaalsete akende kuvamine Ei sobi põhineva navigatsiooni jaoks
FragmentTransaction Fragmentide elutsükli juhtimine tegevuses Paindlik UI juhtimine Vajadus käsitsi backstack ja oleku juhtimiseks
Single-activity + Fragments Fragmentide vahetamine tegevuses Sobib hästi ühe ekraani rakendustele Võib muutuda keeruliseks suure arvu ekraanide puhul
Kohandatud vaated Oma UI vahetamise loogika Maksimaalne paindlikkus ja kohandamine Kõrge arendus- ja hoolduskulu