2017-04-19 18 views
0

Xamarin Firebase.Database Androidを使用してFirebase Realtime Databaseからデータを取得する方法。ドキュメントはありません。私は新しいユーザです。この時XamarinのFirebaseから価値を引き出す方法は?

public void GetSubjects() 
{ 
    Database.Reference.Child("childName").Ref.AddListenerForSingleValueEvent(new ValueEventListener()); 
} 

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

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

    public void OnDataChange(DataSnapshot snapshot) 
    { 

     //How to Get Value from Snapshot? 
     ClassName a = snapshot.GetValue(ClassName) //Gives Error 

    } 
+0

:[リモート通知をFirebaseクラウドメッセージングで](https://developer.xamarin.com/guides/ android/application_fundamentals/notifications/remote-notifications-with-fcm /#client_app)。 –

+0

私はFirebaseデータベースを使用する必要があります。Firebaseデータベースにはapisのセットがあります。 –

答えて

1

ルック、それが動作するかどうかを確認...

private void GetData() 
{ 
    FirebaseDatabase 
     .Instance 
     .Reference 
     .Child("Put your child node name here") 
     .AddListenerForSingleValueEvent(new DataValueEventListener()); 
} 


class DataValueEventListener: Java.Lang.Object, IValueEventListener 
{ 
    public void OnCancelled(DatabaseError error) 
    { 
     // Handle error however you have to 
    } 

    public void OnDataChange(DataSnapshot snapshot) 
    { 
     if (snapshot.Exists()) 
     { 
      DataModelClass model = new DataModelClass(); 
      var obj = snapshot.Children; 

      foreach (DataSnapshot snapshotChild in obj.ToEnumerable()) 
      { 
       if (snapshotChild.GetValue(true) == null) continue; 

       model.PropertyName = snapshotChild.Child("Put your firebase attribute name here")?.GetValue(true)?.ToString(); 
       model.PropertyName = snapshotChild.Child("Put your firebase attribute name here")?.GetValue(true)?.ToString(); 

       // Use type conversions as required. I have used string properties only 
      } 
     } 
    } 
} 
あなたはこれをチェックすることがあり
関連する問題