Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon mvxandroidviewpresenterとmvxformsdroidpagepresenterの主な違いは何ですか


mvxandroidviewpresenterとmvxformsdroidpagepresenterの主な違いは何ですか


MVXAndroidViewPresenterとMVXFormsDroidPagePresenterはどちらもAndroidアプリケーション用のMVVMCrossで使用されていますが、さまざまな目的を果たし、さまざまなタイプのビューを処理するように設計されています。

mvxandroidviewpresenter

- 目的:このプレゼンターはMVVMCrossフレームワークの一部であり、ネイティブのAndroidビューを処理するように特別に設計されています。アクティビティ、フラグメント、ネストされたフラグメント、ダイアログフラグメント、およびNavigationDrawerやBottomNavigationBar [3] [6]などのより複雑なレイアウトなどのさまざまなナビゲーションパターンをサポートします。
- 機能:ビューモデルとネイティブAndroidビューの間のブリッジとして機能し、プレゼンテーション属性のカスタマイズが可能になります。開発者は、このメソッドをオーバーライドするか、新しいプレゼンテーション属性を追加することにより、このプレゼンターを拡張するためにカスタムナビゲーション戦略を実装できます[3] [6]。
- 使用法:通常、Xamarin.Formsページよりもネイティブビューが好まれる純粋なMVVMCross Androidアプリケーションで使用されます。

mvxformsdroidPagePresenter

- 目的:このプレゼンターは、Xamarin.Formsページを統合するMVVMCrossアプリケーションで使用されます。 Androidアプリケーション内のXamarin.Formsページのプレゼンテーションを処理するように設計されています[5] [8]。
- 機能:Xamarin.FormsページをネイティブAndroidビューに変換し、ライフサイクルを管理することで機能します。ネイティブAndroidナビゲーションパターンの点でMVXandroidViewPresenterよりも柔軟性が低くなりますが、Xamarin.FormsをMVVCROSS Androidプロジェクトに統合するためには不可欠です[5] [8]。
- 使用:ネイティブAndroidビューとXamarin.Formsページの両方が共存するハイブリッドアプリケーションで使用されます。すべてのネイティブAndroidナビゲーション機能[5] [8]を直接サポートしていないため、Xamarin.Formsページとネイティブビュー間のナビゲーションを処理するためにカスタムロジックを実装する必要があります。

要約すると、MVXandroidViewPresenterは、ネイティブAndroidビューを使用したアプリケーションに最適であり、さまざまなAndroid固有のナビゲーションパターンの広範なカスタマイズとサポートを提供します。対照的に、Xamarin.FormsページをMVVMCross Androidアプリケーションに統合するときにMVXFormsDroidPagePresenterが使用され、フォームページをネイティブビューとして表示するが、ネイティブナビゲーション機能が限られているように表示する方法を提供します。

引用:
[1] https://michaelridland.com/category/xamarin/page/3/
[2] https://stackoverflow.com/questions/35912706/mvvmcross-hybrid-xamarin-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://michaelridland.com/xamarin/mixing-xamarin-forms-mvvmcross-nativeviews/
[6] https://www.mvvmcross.com/documentation/fundmentals/view-presenters
[7] https://jessejiang.wordpress.com
[8] https://stackoverflow.com/questions/38181508/login-page-with-xamarin-mvvmcross-porms-preventing-back-navigation-on-android