MVXAndroidViewPresenter và MVXFormsDroidPagePresenter đều được sử dụng trong MVVMcross cho các ứng dụng Android, nhưng chúng phục vụ các mục đích khác nhau và được thiết kế để xử lý các loại chế độ xem khác nhau.
MVXAndroidViewPresenter
- Mục đích: Người trình bày này là một phần của khung MVVMCROSS và được thiết kế đặc biệt để xử lý các chế độ xem Android gốc. Nó hỗ trợ các mẫu điều hướng khác nhau như hoạt động, các mảnh vỡ, các đoạn lồng nhau, các đoạn hộp thoại và bố cục phức tạp hơn như NavigationDrawer và BottomNavulationBar [3] [6].
- Chức năng: Nó hoạt động như một cầu nối giữa ViewModels và Chế độ xem Android gốc, cho phép tùy chỉnh các thuộc tính trình bày. Các nhà phát triển có thể mở rộng người trình bày này để thực hiện các chiến lược điều hướng tùy chỉnh bằng cách ghi đè các phương thức của nó hoặc thêm các thuộc tính trình bày mới [3] [6].
- Cách sử dụng: Thường được sử dụng trong các ứng dụng Android MVVMCROSS thuần túy trong đó các chế độ xem gốc được ưa thích hơn các trang Xamarin.Forms.
MVXFormsDroidPagePresenter
- Mục đích: Người trình bày này được sử dụng trong các ứng dụng MVVMcross tích hợp các trang Xamarin.Forms. Nó được thiết kế để xử lý việc trình bày các trang xamarin.forms trong một ứng dụng Android [5] [8].
- Chức năng: Nó hoạt động bằng cách chuyển đổi Xamarin.Forms các trang thành chế độ xem Android gốc và quản lý vòng đời của chúng. Nó kém linh hoạt hơn mvxandroidviewpresenter về các mẫu điều hướng Android gốc nhưng rất cần thiết để tích hợp xamarin.forms vào các dự án Android MVVMcross [5] [8].
- Sử dụng: Được sử dụng trong các ứng dụng lai trong đó cả chế độ xem Android gốc và Xamarin.Forms Pages cùng tồn tại. Nó yêu cầu triển khai logic tùy chỉnh để xử lý điều hướng giữa các trang xamarin.forms và chế độ xem gốc, vì nó không trực tiếp hỗ trợ tất cả các tính năng điều hướng Android gốc [5] [8].
Tóm lại, MVXAndroidViewPresenter là lý tưởng cho các ứng dụng sử dụng chế độ xem Android gốc, cung cấp tùy chỉnh và hỗ trợ rộng rãi cho các mẫu điều hướng cụ thể của Android. Ngược lại, MVXFormsDroidPagePresenter được sử dụng khi tích hợp các trang Xamarin.Forms vào ứng dụng Android MVVMcross, cung cấp cách hiển thị các trang biểu mẫu dưới dạng chế độ xem gốc nhưng với khả năng điều hướng bản địa hạn chế.
Trích dẫn:[1] https://michaelridland.com/cargets
[2] https://stackoverflow.com/questions/35912706/mvvmcross-hybrid-xamarin-forms-and-android-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:
[6] https://www.mvvmcross.com/documentation/fundamentals/view-presenters
[7] https://jessejiang.wordpress.com
[8] https://stackoverflow.com/questions/38181508/login-page-with-xamarin-mvvmcross-forms-preventing-back-navigation-on-android