MVXANDROIDVIEWPRESENTER และ MVXFORMSDROIDPAGEPRESENTER นั้นใช้ใน MVVMCROSS สำหรับแอปพลิเคชัน Android แต่พวกเขามีวัตถุประสงค์ที่แตกต่างกันและออกแบบมาเพื่อจัดการกับมุมมองประเภทต่างๆ
mvxandroidviewpresenter
- วัตถุประสงค์: ผู้นำเสนอนี้เป็นส่วนหนึ่งของกรอบ MVVMCROSS และได้รับการออกแบบมาโดยเฉพาะเพื่อจัดการกับมุมมอง Android ดั้งเดิม รองรับรูปแบบการนำทางที่หลากหลายเช่นกิจกรรมชิ้นส่วนชิ้นส่วนซ้อนกันชิ้นส่วนโต้ตอบและเลย์เอาต์ที่ซับซ้อนมากขึ้นเช่น NavigationDrawer และ BottomNavigationBar [3] [6]
- ฟังก์ชั่น: มันทำหน้าที่เป็นสะพานเชื่อมระหว่าง ViewModels และมุมมอง Android พื้นเมืองช่วยให้สามารถปรับแต่งคุณสมบัติการนำเสนอได้ นักพัฒนาสามารถขยายผู้นำเสนอนี้เพื่อใช้กลยุทธ์การนำทางที่กำหนดเองโดยการเอาชนะวิธีการของตนหรือเพิ่มแอตทริบิวต์การนำเสนอใหม่ [3] [6]
- การใช้งาน: โดยทั่วไปจะใช้ในแอปพลิเคชัน Android MVVMcross บริสุทธิ์ที่ต้องการมุมมองดั้งเดิมมากกว่าหน้า Xamarin.Forms
mvxformsdroidpagepresenter
- วัตถุประสงค์: ผู้นำเสนอนี้ใช้ในแอปพลิเคชัน MVVMcross ที่รวมหน้า Xamarin.Forms มันถูกออกแบบมาเพื่อจัดการกับการนำเสนอของหน้า xamarin.forms ภายในแอปพลิเคชัน Android [5] [8]
- ฟังก์ชั่น: ใช้งานได้โดยการแปลง Xamarin.Forms Pages เป็นมุมมอง Android ดั้งเดิมและจัดการวงจรชีวิตของพวกเขา มันมีความยืดหยุ่นน้อยกว่า mvxandroidviewpresenter ในแง่ของรูปแบบการนำทาง Android ดั้งเดิม แต่เป็นสิ่งจำเป็นสำหรับการรวม Xamarin.forms เข้ากับโครงการ MVVMcross Android [5] [8]
- การใช้งาน: ใช้ในแอพพลิเคชั่นไฮบริดที่ทั้งมุมมอง Android ดั้งเดิมและ Xamarin.Forms Pages อยู่ร่วมกัน มันต้องใช้ตรรกะที่กำหนดเองเพื่อจัดการการนำทางระหว่าง Xamarin.Forms หน้าและมุมมองดั้งเดิมเนื่องจากไม่สนับสนุนคุณสมบัติการนำทาง Android Native ทั้งหมดโดยตรง [5] [8]
โดยสรุป MVXANDREIDVIEWPRESENTER เหมาะสำหรับแอปพลิเคชันที่ใช้มุมมอง Android ดั้งเดิมเสนอการปรับแต่งที่กว้างขวางและการสนับสนุนสำหรับรูปแบบการนำทางเฉพาะ Android ที่หลากหลาย ในทางตรงกันข้าม MVXFormsDroidPagePresEnter ใช้เมื่อรวมหน้า Xamarin.Forms เข้ากับแอปพลิเคชัน MVVMCROSS Android ซึ่งเป็นวิธีการแสดงหน้ารูปแบบเป็นมุมมองดั้งเดิม แต่มีความสามารถในการนำทางที่ จำกัด
การอ้างอิง:[1] https://michaelridland.com/category/xamarin/page/3/
[2] https://stackoverflow.com/questions/35912706/mvvmcross-hybrid-xamarin-forms-and-android-active-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-mvvmcross-forms-preventing-back-navigation-ondroid