Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon 我可以在同一项目中同时使用plugin.ble和mvvmcross.plugin.ble。


我可以在同一项目中同时使用plugin.ble和mvvmcross.plugin.ble。


在同一项目中使用插件和mvvmcross.plugin.ble在技术上是可能的,但它可能不是最有效或推荐的方法。为什么:

1。目的和功能:
-plugin.ble是一个跨平台插件,旨在访问蓝牙低能(BLE)功能。它适用于不需要MVVM体系结构或MVVMCross提供的其他功能的项目。
-MVVMCross.plugin.ble,另一方面是专门为使用MVVMCross框架的项目而设计的。它将BLE功能集成到MVVM架构中,从而允许依赖注入和其他MVVMCROSS功能。

2。依赖性和重叠:
-mvvmcross.plugin.ble实际上参考插件。这意味着,如果您使用mvvmcross.plugin.ble,您也间接使用插件。但是,两者都明确地可能导致不必要的复杂性和潜在的冲突。

3。用法和集成:
- 如果您的项目是使用MVVMCross构建的,则使用mvvmcross.plugin.ble更加简单,因为它与MVVM模式很好地集成并允许依赖注入。您可以使用MVVMCross的IOC容器解决Ibluetoothle和IADAPTER服务。
- 如果您喜欢更简单的非MVVM方法,则插件可能就足够了。但是,如果您决定同时使用两者,请确保您仔细管理其实例和功能以避免冲突。

4。潜在问题:
- 在管理实例和处理BLE操作时,使用两个插件可能会导致混乱。您可能最终会运行多个适配器或BLE服务,这可能会导致意外的行为或错误。

5。建议:
- 如果您的项目使用MVVMCross,请坚持使用mvvmcross.plugin.ble,以保持一致性和易于集成。
- 如果您的项目不使用MVVMCross,则插件是一个简单的选择。
- 避免使用两者,除非您有必要使用它们的合并使用,并确保您仔细处理它们的集成。

总而言之,尽管从技术上讲可以在同一项目中使用两个插件,但通常不建议您这样做。选择应基于您项目的架构和特定需求。

引用:
[1] https://learn.microsoft.com/en-us/answers/questions/1518375/which-package-should-should-i-i-i-i-i-i-i-i-i--i--for-bluetooth-low-e
[2] https://www.mvvmcross.com/documentation/advanced/customizing-usif-sud-sapp-anp-setup
[3] https://www.nuget.org/packages/mvvmcross.plugin.ble/
[4] https://forum.ionicframework.com/t/both-ble-ble-bluetoothle-plugins-plugins-seem-not-not-to-be-loaded-loaded-toal-to-al-al-all/176776
[5] https://www.nuget.org/packages/mvvmcross.plugin.ble/2.2.0-pre5
[6] https://www.npmjs.com/package/cordova-plugin-bluetoothle
[7] https://github.com/mrozema/xamarin-bluetooth-le
[8] https://community.qlik.com/t5/qlikview-app-dev/multiple-versions-of-similar-data-data-for-all-tables-in-data-in-data-model/td-pd-p/468796
[9] https://stackoverflow.com/questions/38327176/xamarin-forms-plugins-ble-mvvmcross-plugins-ble