gpt4 book ai didi

c# - 如何在对象 DatabaseReference Xamarin.Firebase.Database 中使用接口(interface) IValueEventListener?

转载 作者:行者123 更新时间:2023-11-30 21:42:27 29 4
gpt4 key购买 nike

我是 C# Xamarin 的新手。我这里有一个示例 Java 类(来自 this tutorial)。我很难使用 xamarin.firebase.database 在 C# 中实现 ValueEventListener。你愿意帮助我吗?谢谢。

public class ChatInteractor implements ChatContract.Interactor {
private static final String TAG = "ChatInteractor";

@Override
public void sendMessageToFirebaseUser(final Context context, final Chat chat, final String receiverFirebaseToken) {

final DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
databaseReference.child(Constants.ARG_CHAT_ROOMS).getRef().addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {

}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});
}

@Override
public void getMessageFromFirebaseUser(String senderUid, String receiverUid) {

final DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();

databaseReference.child(Constants.ARG_CHAT_ROOMS).getRef().addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {

}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});
}
}

最佳答案

首先:您是否有用于 Firebase Android SDK 的 Xamarin Android 绑定(bind)?如果你不这样做,你就不能真正遵循任何 Java-Android 教程,因为 Firebase 特定的类/接口(interface)将不存在。如果是这种情况:安装 https://www.nuget.org/packages/Xamarin.Firebase.Database/

如果你这样做 - 像那样实现接口(interface):(内联实现 - 就像你可以在 java 中做的那样;它在你的示例中完成 - 在 C# 中不受支持。所以你必须创建一个常规类)

   public class MyValueEventListener : Java.Lang.Object, Firebase.Database.IValueEventListener
{

public void OnCancelled(DatabaseError error)
{
throw new NotImplementedException();
}

public void OnDataChange(DataSnapshot snapshot)
{
throw new NotImplementedException();
}

}

并将其作为事件监听器传递

DatabaseReference databaseReference = FirebaseDatabase.Instance.Reference;
databaseReference.Child(Constants.ARG_CHAT_ROOMS).Ref.AddListenerForSingleValueEvent(new MyValueEventListener())

关于c# - 如何在对象 DatabaseReference Xamarin.Firebase.Database 中使用接口(interface) IValueEventListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42499066/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com