将datasnaphot从firebase转换为List <array> - Xamarin.Droid

时间:2017-06-27 06:39:59

标签: c# android firebase firebase-realtime-database xamarin.android

我今天刚开始使用firebase。我正在尝试将firebase中的虚拟数据传递给List。使用快照,我将我的数据提取到一个名为fetched data的变量中,并将我的数据传递给List。但是,我将快照转换为DataContent。我得到指定的演员无效。为什么我的演员不工作,Firebase有一种独特的演员方式?

这是我的代码的一小部分

  List<DataContent>DisplayData = new List <DataContent>();

protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.myView);

            firebase = new FirebaseClient(FirebaseUrl);

            mAuth = FirebaseAuth.Instance;
            mLike = FirebaseDatabase.Instance.Reference.Child("Table");

            mDatabase.AddValueEventListener(this);
            mDatabase.KeepSynced(true);




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

        public  void OnDataChange(DataSnapshot snapshot)
        {
             var fireBaseData = snapshot.Child(postBlogKeyId);

              DisplayData.Add((DataContent)fireBaseData);

        }

1 个答案:

答案 0 :(得分:0)

  

我得到指定的演员无效。为什么我的演员不工作,Firebase有一种独特的演员方式?

首先,请确保它是一个对象,而不是snapshot.Child(postBlogKeyId)下的列表。

其次,通过snapshot.Child(postBlogKeyId),您获得了一个DataSnapShot对象,它是数据内容的包装器,您需要使用snapshot.Child(postBlogKeyId).Value来获取数据内容。

如果仍然无效,请调试snapshot.ToString()并发布结果。