C# 允许Firebase Xamarin实时流媒体
我正在Xamarin中通过实时Firebase数据库集成构建一个跨平台应用程序。我在用电脑。在Fibrebase.net文档中,要启用实时流式it notes调用,例如:C# 允许Firebase Xamarin实时流媒体,c#,.net,firebase,xamarin,firebase-realtime-database,C#,.net,Firebase,Xamarin,Firebase Realtime Database,我正在Xamarin中通过实时Firebase数据库集成构建一个跨平台应用程序。我在用电脑。在Fibrebase.net文档中,要启用实时流式it notes调用,例如: var firebase = new FirebaseClient("https://dinosaur-facts.firebaseio.com/"); var observable = firebase .Child("dinosaurs") .AsObservable<Dinosaur>() .Su
var firebase = new FirebaseClient("https://dinosaur-facts.firebaseio.com/");
var observable = firebase
.Child("dinosaurs")
.AsObservable<Dinosaur>()
.Subscribe(d => Console.WriteLine(d.Key));
var firebase=新的FirebaseClient(“https://dinosaur-facts.firebaseio.com/");
var可观测=火基
.儿童(“恐龙”)
.AsObservable()
.Subscribe(d=>Console.WriteLine(d.Key));
然而,为了在Xamarin中实现最大限度的代码重用,我需要在共享项目中调用它,而不是在每个独立的iOS和Android应用程序中调用它。我能想到的唯一方法是同步,因此不允许从我的firebase数据库进行实时监视/更新
我如何创建和调用一个方法,以允许从另一个类中异步侦听此可观察对象?如果这是一个平台特定的API,则必须在各个应用程序项目中进行这些调用,但您可以使用(如果使用Xamarin.Forms)从共享代码启动对平台特定代码的调用。如果不使用Xamarin.Forms,您将需要使用一些反转控件库来进行依赖项注入 从以上链接: Xamarin.Forms应用程序需要三个组件才能使用DependencyService: 接口–所需的功能由共享代码中的接口定义 每个平台的实现–实现接口的类必须添加到每个平台项目中 注册–每个实现类必须通过元数据属性向DependencyService注册。注册使DependencyService能够找到实现类,并在运行时提供它来代替接口 调用DependencyService–共享代码需要显式调用DependencyService来请求接口的实现 请注意,必须为解决方案中的每个平台项目提供实现。没有实现的平台项目将在运行时失败 IOW:
[assembly: Xamarin.Forms.Dependency (typeof (TextToSpeechImplementation))]
typeof
方法的参数是该类的名称
DependencyService.Get<ITextToSpeech>().Speak("Hello from Xamarin Forms");
DependencyService.Get().Speak(“来自Xamarin表单的你好”);
ITextToSpeech
是在步骤1中创建的接口的名称
如果您没有使用Xamarin.Forms,请搜索控制反转库,并按照提供的有关如何使用它的文档进行操作