如何从 Xamarin 中的 Firebase 获取价值?
Posted
技术标签:
【中文标题】如何从 Xamarin 中的 Firebase 获取价值?【英文标题】:How to Get Value from Firebase in Xamarin? 【发布时间】:2017-09-15 23:25:06 【问题描述】:如何使用 Xamarin Firebase.Database android 从 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
【问题讨论】:
你可以检查这个:Remote Notifications with Firebase Cloud Messaging. 我需要使用 Firebase 数据库,它有不同的 api 集。 【参考方案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
【讨论】:
【参考方案2】:也许你可以试试这个
internal class DAOFood
FirebaseClient firebase = new FirebaseClient("YOUR FIREBASE URL");
public DAOFood()
public async Task<List<Food>> GetAllFoods()
List<Food> lstFood = (await firebase.
Child("Food").
OnceAsync<Food>()).Select(item => new Food
FoodId = item.Object.FoodId,
FoodName = item.Object.FoodName
).ToList();
return lstFood;
【讨论】:
你能edit你的问题解释一下你做了什么改变以及如何解决这个问题吗?以上是关于如何从 Xamarin 中的 Firebase 获取价值?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Firebase 消息传递到 Xamarin.Android 应用程序?
如何在 Xamarin 的 firebase 中更新用户显示名称?
通过 FireBase 触发从 ASP.Net Api 到 Xamarin.Android 应用程序的推送通知