在MVVMCross的viewmodel中是否有任何接口可以注入IBarCodeService?与ISQLConnection的ISQLiteConnectionFactory类似。
如果有人知道,请帮助我。
提前致谢!
答案 0 :(得分:0)
你有几种方法可以做到这一点......你可以设置自己的MvvmCross插件,通过Bootstrap文件完成这个。正如您所看到的,here Stuart向用户展示了如何创建插件。
如果您不想创建自己的插件,您也可以利用iOS / Android项目中Setup.cs中的InitializeLastChance例程。例如,我的InitializeLastChance()看起来像这样:
protected override void InitializeLastChance()
{
Mvx.LazyConstructAndRegisterSingleton<ISecurePersistenceService, SecurePersistenceService>();
base.InitializeLastChance();
}
例如,我有一个我在我的核心项目中定义的ISecurePersistenceService,用于为我的应用程序加密敏感数据。
在我的核心项目中,我有一个ISecurePersistenceService.cs,在我的iOS项目中,我有一个实现接口的SecurePersistenceService.cs。通过在iOS项目的Setup.cs中添加我的代码,MvvmCross现在知道如何解决
var securePersistenceService = Mvx.Resolve<ISecurePersistenceService>();
甚至像这样使用构造函数注入:
private readonly ISecurePersistenceService persistenceService;
public MyViewModel(ISecurePersistenceService persistenceService)
{
this.persistenceService = persistenceService
}
这是可能的,因为MvvmCross正在使用自己的IoC implementation。
答案 1 :(得分:0)
最后,我使用ZXing条形码服务和Lumia成像SDK进行相机捕捉。通过这些组合,条形码扫描工作正常。