Middle
Ի՞նչ եղանակներ կան հավելվածում, բացի նավիգացիայի գրադարանի օգտագործումից։
sobes.tech AI
Պատասխան AI-ից
-
Արարատային մտադրություններ:
startActivity()-ի միջոցով ակտիվությունների միջև անցում:// Նպատակ ստեղծել NewActivity-ին անցնելու համար val intent = Intent(this, NewActivity::class.java) // Տվյալներ ավելացնել նպատակին intent.putExtra("data_key", "մեկ արժեք") // Նոր ակտիվություն սկսել startActivity(intent) -
Անորոշ մտադրություններ: Ակտիվությունների գործարկում այլ հավելվածներից կամ համակարգի մասերից:
// Վեբ էջ բացելու նպատակ ստեղծել val webpage: Uri = Uri.parse("http://www.android.com") val webIntent = Intent(Intent.ACTION_VIEW, webpage) // Ակտիվություն գործարկել, որը կարող է այս նպատակն մշակել startActivity(webIntent) -
DialogFragment: Դիալոգային պատուհանների օգտագործում տեղեկատվություն ցուցադրելու կամ մուտքագրման համար:
// Դիալոգի ֆրագմենտի օրինակ ստեղծել val myDialogFragment = MyDialogFragment() // Դիալոգը ցուցադրել myDialogFragment.show(supportFragmentManager, "my_dialog") -
FragmentTransaction: Ֆրագմենտների կյանքի ցիկլի ձեռքով կառավարում՝ ավելացում, փոխարինում, ջնջում:
// FragmentManager- ի ստացում val fragmentManager = supportFragmentManager // Գործարկում val fragmentTransaction = fragmentManager.beginTransaction() // Նորով փոխարինել ընթացիկ ֆրագմենտը fragmentTransaction.replace(R.id.fragment_container, newFragment) // Վերադարձի տուփին ավելացնել fragmentTransaction.addToBackStack(null) // Գործարկել fragmentTransaction.commit() -
Single-activity կառուցվածք ձեռքով ֆրագմենտների կառավարմամբ: Բոլոր նավիգացիան իրականացնում է մեկ ակտիվության մեջ՝ ֆրագմենտների փոփոխությամբ:
-
Անհատականացված View-ներ: Կառուցել բարդ և ոչ ստանդարտ նավիգացիա՝ օգտագործելով սեփական View-ներ, որոնք փոխում կամ փոփոխում են բովանդակությունը՝ կախված ծրագրի վիճակից:
| Նավիգացիայի եղանակ | Հիմնական մեխանիզմ | Առավելություններ | Թերություններ |
|---|---|---|---|
| Աչքահայաց մտադրություններ | Այլ Activity գործարկել դասով | Պարզ անցում Activity-ների միջև, տվյալների փոխանցում | Շատ էկրանների դեպքում բարդանում |
| Անորոշ մտադրություններ | Activity գործարկել գործողությամբ/տվյալներով | Միջգործակցություն այլ հավելվածների հետ | Մեկուսացված նավիգացիայի սահմանափակ ճկունություն |
| DialogFragment | Դիալոգային պատուհանի ցուցադրում | Պարզ ցուցադրում մոդալ պատուհանների | Հիմնական նավիգացիայի համար չի հարմար |
| FragmentTransaction | Ֆրագմենտի կյանքի ցիկլի կառավարում | Գործնական UI կառավարման ճկունություն | Պահանջում է ձեռքով back stack և վիճակի կառավարում |
| Single-activity + Fragments | Ֆրագմենտների փոխարինում Activity-ում | Լավ է մի էկրանային հավելվածների համար | Կարող է բարդանալ մեծ թվով էկրանների դեպքում |
| Անհատականացված View-ներ | Ձեր սեփական UI փոխարկման տրամաբանություն | Մակսիմալ ճկունություն և անհատականացում | Զարգացման և սպասարկման բարձր բարդություն |