Middle
Millised navigatsiooniviisid on rakenduses olemas, välja arvatud navigatsiooniraamatukogu kasutamine?
sobes.tech AI
Vastus AI-lt
-
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) -
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) -
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") -
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() -
Single-activity arhitektuur koos käsitsi fragmentide juhtimisega: Kogu navigatsioon toimub ühes tegevuses, vahetades kuvatavaid fragmaite. See on sisuliselt struktureeritum kasutus
FragmentTransaction-ist. -
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 |