[英]unity - retrieving data from firebase database
我是Firebase的新手,也是Unity的新手(同樣,這是我的第一個堆棧交換文章)。 我知道如何寫入Firebase,但不知道如何從數據樹中檢索。
我的數據的結構方式(大致)如下:
{
Users:{
"Email": ,
"Password":
}
}
我將如何訪問用戶的元素並檢索其電子郵件和密碼之類的東西?
我和你在同一條船上(無論是對火力陣營還是對團結來說都是新手),但是類似下面的內容對我來說卻很有效。 我未經測試就將其調整為適合您的情況,因此可能會有一些小錯誤,但它應該可以幫助您入門。 也許更有經驗的人可以對此進行改進。 我故意保留有關正確處理密碼的詳細信息。
//assuming
public class User {
public string email;
public string password;
public User (string email, string password) {
this.email = email;
this.password = password;
}
}
//inside some class
public void AddUser(){
User user = new User("email@email.com", "password");
string json = JsonUtility.ToJson(user);
Firebase.Database.DatabaseReference dbRef = Firebase.Database.FirebaseDatabase.DefaultInstance.RootReference
dbRef.Child("users").Push().SetRawJsonValueAsync(json);
}
public void GetUsers(){
Firebase.Database.FirebaseDatabase dbInstance = Firebase.Database.FirebaseDatabase.DefaultInstance;
dbInstance.GetReference("users").GetValueAsync().ContinueWith(task => {
if (task.IsFaulted) {
// Handle the error...
}
else if (task.IsCompleted) {
DataSnapshot snapshot = task.Result;
foreach ( DataSnapshot user in snapshot.Children){
IDictionary dictUser = (IDictionary)user.Value;
Debug.Log ("" + dictUser["email"] + " - " + dictUser["password"]);
}
}
});
通過創造性地從文檔頁面復制/粘貼,可以達到以下目的:
FirebaseDatabase.DefaultInstance
.GetReference("Users")
.ValueChanged += HandleValueChanged;
}
void HandleValueChanged(object sender, ValueChangedEventArgs args) {
if (args.DatabaseError != null) {
Debug.LogError(args.DatabaseError.Message);
return;
}
Debug.Log(arg.Snapshot.Child("Email").Value)
}
好像這是一個舊帖子,但可能會對某人有所幫助,
只需調用SaveAndRetrieveData()函數即可在需要的任何地方保存和檢索數據
public void SaveAndRetrieveData() //from the database (server)...
{
//store the data to the server...
reference.Child("My Car Collections").Child("Sports Car").SetValueAsync("Ferrari");
print("data saved");
//Retrieve the data and convert it to string...
FirebaseDatabase.DefaultInstance.GetReference("My Car Collections").GetValueAsync().ContinueWith(task =>
{
DataSnapshot snapshot = task.Result;
string ss = snapshot.Child("Sports Car").Value.ToString();
print(ss);
print("data retrieved");
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.