MVXANDROIDVIEWPRESENTER 및 MVXFORMSDROIGPAGEPRESENTER는 모두 Android 응용 프로그램을 위해 MVVMCross에서 사용되지만 다른 목적으로 사용되며 다양한 유형의 뷰를 처리하도록 설계되었습니다.
mvxandroidviewpresenter
- 목적 :이 발표자는 MVVMCross 프레임 워크의 일부이며 기본 Android 뷰를 처리하도록 특별히 설계되었습니다. 활동, 조각, 중첩 조각, 대화 조각 및 NavigationDrawer 및 BottomNavigationBar [3] [6]와 같은보다 복잡한 레이아웃과 같은 다양한 내비게이션 패턴을 지원합니다.
- 기능 : ViewModel과 기본 Android보기 사이의 브리지 역할을하여 프리젠 테이션 속성을 사용자 정의 할 수 있습니다. 개발자는이 발표자를 확장하여 방법을 무시하거나 새로운 프레젠테이션 속성을 추가하여 사용자 정의 탐색 전략을 구현할 수 있습니다 [3] [6].
- 사용법 : 일반적으로 Xamarin.forms 페이지보다 기본보기가 선호되는 순수한 MVMCross Android 응용 프로그램에서 사용됩니다.
mvxformsdroidpagepresenter
- 목적 :이 발표자는 Xamarin.forms 페이지를 통합하는 MVVMCross 응용 프로그램에 사용됩니다. Android 응용 프로그램 내에서 Xamarin.forms 페이지의 프레젠테이션을 처리하도록 설계되었습니다 [5] [8].
- 기능 : Xamarin.forms 페이지를 기본 Android보기로 변환하고 수명주기를 관리하여 작동합니다. 기본 Android 내비게이션 패턴 측면에서 MVXandroidviewPresenter보다 유연하지 않지만 Xamarin.forms를 MVVMCross Android 프로젝트에 통합하는 데 필수적입니다 [5] [8].
- 사용법 : 기본 Android 뷰와 Xamarin.forms 페이지가 공존하는 하이브리드 응용 프로그램에서 사용됩니다. Xamarin.forms 페이지와 기본보기 간의 내비게이션을 처리하기 위해 사용자 정의 로직을 구현해야합니다. 모든 기본 Android 내비게이션 기능 [5] [8].
요약하면 MVXANDRODVIEWPRESENTER는 기본 Android 뷰를 사용하는 응용 프로그램에 이상적이며 다양한 Android 특정 항법 패턴에 대한 광범위한 사용자 정의 및 지원을 제공합니다. 대조적으로, Xamarin.forms 페이지를 MVVMCross Android 애플리케이션에 통합 할 때 MVXFormsDroidPagePresenter가 사용되며, 양식 페이지를 기본 뷰로 표시하는 방법을 제공하지만 기본 탐색 기능이 제한되어 있습니다.
인용 :[1] https://michaelridland.com/category/xamarin/page/3/
[2] https://stackoverflow.com/questions/35912706/mvvmcross-hybrid-xamarin-forms-and-denroid-activity-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://jessejiang.wordpress.com
[8] https://stackoverflow.com/questions/38181508/login-page-with-xamarin-mvmcross-forms-preventing-back-navation-ondroid