Az MvxandroidViewPresenter és az MVXFormSDroidPagePresenter mind az MVVMCross -ban használják az Android alkalmazásokhoz, de különféle célokat szolgálnak, és úgy tervezték, hogy különféle nézeteket kezeljenek.
mvxandroidviewPresenter
- Cél: Ez a műsorvezető az MVVMCross keretének része, és kifejezetten a natív Android nézetek kezelésére szolgál. Támogatja a különféle navigációs mintákat, például tevékenységeket, fragmentumokat, beágyazott fragmenseket, párbeszédpályákat és összetettebb elrendezéseket, mint például a navigációs rajz és a BottomnavigationBar [3] [6].
- Funkcionitás: Hídként működik a ViewModels és a natív Android nézetek között, lehetővé téve a prezentációs attribútumok testreszabását. A fejlesztők kibővíthetik ezt az előadóját az egyéni navigációs stratégiák végrehajtásához azáltal, hogy felülbírálják a módszereit vagy új prezentációs attribútumokat adnak hozzá [3] [6].
- Használat: Általában a tiszta MVVMCross android alkalmazásokban használják, ahol a natív nézeteket részesítik előnyben a Xamarin.Forms oldalakkal szemben.
mvxFormSDroidPagePresenter
- Cél: Ezt az előadóját az MVVMCross alkalmazásokban használják, amelyek integrálják a Xamarin.Forms oldalakat. Úgy tervezték, hogy kezelje a Xamarin.Forms oldalak bemutatását egy Android alkalmazáson belül [5] [8].
- Funkcionális: úgy működik, hogy az Xamarin.Forms oldalakat natív Android nézetekké alakítja, és életciklusuk kezelésével. Kevésbé rugalmas, mint az MVxandroidViewPresenter a natív Android navigációs minták szempontjából, de elengedhetetlen a Xamarin.Forms integrálásához az MVVMCross Android projektekbe [5] [8].
- Használat: Hibrid alkalmazásokban használják, ahol mind a natív Android nézetek, mind a Xamarin.Forms Pages együtt élnek. Ez megköveteli az egyéni logika megvalósítását a navigáció kezeléséhez a Xamarin.Forms oldalak és a natív nézetek között, mivel ez nem támogatja közvetlenül az összes natív Android navigációs funkciót [5] [8].
Összefoglalva: az MvxandroidViewPresenter ideális a natív Android nézeteket használó alkalmazásokhoz, széles körű testreszabást és támogatást kínálva a különféle Android-specifikus navigációs mintákhoz. Ezzel szemben az MVXFormSDroidPagePresenter az Xamarin.Forms oldalak integrálásához használják az MVVMCross Android alkalmazásba, amely lehetővé teszi az űrlapok natív nézetként történő megjelenítésének módját, de korlátozott natív navigációs képességekkel.
Idézetek:[1] https://michaelridland.com/category/xamarin/page/3/
[2] https://stackoverflow.com/questions/35912706/mvvmcross-hybrid-xamarin-forms-and-android-ctivity- Application
[3] https://www.mvvmcross.com/documentation/platform/android/android-view-presenter
[4] https://ridland2.rssing.com/chan-57660607/all_p1.html
[5] https://michaelridland.com/xamarin/mixing-xamarin-forms-mvvmcross-nativeViews/
[6] https://www.mvvmcross.com/documentation/fundamentals/view-presenters
[7] https://jesejiang.wordpress.com
[8] https://stackoverflow.com/questions/38181508/login-page-with-xamarin-mvvmcross-forms-preventing-back-navigation-on-android