【发布时间】:2021-06-02 03:41:49
【问题描述】:
嗨,所以我已经根据这个答案实现了一个方法: How to get notification in xamarin forms on firebase data change? 但我无法让它工作。
这是我的代码:
void DoFirebaseObserve()
{
var firebase = new FirebaseClient(Constants.FirebaseProjectUrl);
firebase.Child("RegisterUserTable").AsObservable<RegisterUser>().Subscribe(obs =>
{
switch (obs.EventType)
{
case Firebase.Database.Streaming.FirebaseEventType.InsertOrUpdate:
Console.WriteLine("InsertOrUpdate");
break;
case Firebase.Database.Streaming.FirebaseEventType.Delete:
Console.WriteLine("Delete");
break;
default:
break;
}
});
}
我在我的应用主页的 OnAppearing 方法中调用此代码。我尝试过使用和不使用 while (true) {} 条件。
当我在 firebase 中添加、更新或删除记录时,我的应用程序中没有任何反应。永远不会调用 writelines。
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
为什么要把这段代码放在一个while循环中?您只需要设置一次监听器
-
我最初在没有 while 循环的情况下尝试了它,但它不起作用,所以我试了一下。
-
你需要摆脱它,这最终会导致你的应用程序崩溃。您是否考虑过它可能被调用,但事件类型与您正在检查的不同?
-
我已经从我的代码中去掉了循环,谢谢。 Firebase.Database.Streaming.FirebaseEventType 只有两个常量,InsertOrUpdate 和 Delete,即我认为它不能是别的。
-
如果将
WriteLine()放在开关之外可能有用,以防万一。您是否检查过AsObservable确实在返回数据?
标签: c# database firebase xamarin notifications