簡體   English   中英

unity-從Firebase數據庫檢索數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM