为了账号安全,请及时绑定邮箱和手机立即绑定

Android Firebase-将经过身份验证的用户添加到数据库

Android Firebase-将经过身份验证的用户添加到数据库

C#
杨魅力 2021-05-13 18:27:19
好的,所以我在Visual Studio中构建xamarin.android应用程序,这种类型的问题很多,但是我真的没有找到任何有关xamarin.android的东西,所有东西都是基于Java的。我尝试按照这些教程和答案进行操作,但在Xamarin android上始终缺少某些内容或无法正常工作。我已经进行了身份验证,并且效果很好,那里没有问题。我尝试将用户信息(用户在注册时输入的信息)存储到数据库中。有点奏效,但是有一个问题。这是代码:  public void OnComplete(Task task)    {        if (task.IsSuccessful)        {            Toast.MakeText(this, "Successful", ToastLength.Long).Show();            FirebaseUser user = FirebaseAuth.GetInstance(app).CurrentUser;            id = user.Uid;            CreateUser();            buttonSignIn.PerformClick();            progressBar.Visibility = ViewStates.Invisible;        }        else        {     //something        }    }这是CreateUser()方法:  private void CreateUser ()    {        Account user = new Account();        user.uid = id;        user.name = signup_inputName;        user.lastName = signup_inputLastName;        user.email = signup_inputEmail;        user.phone = signup_inputPhoneNumber;        var firebase = new FirebaseClient(FirebaseURL);        var item = firebase.Child("users").PostAsync<Account>(user);    }这是帐户类代码:public class Account{    public string uid      { get; set; }    public string name     { get; set; }    public string lastName { get; set; }    public string email    { get; set; }    public string phone    { get; set; }}此代码将用户信息存储"users"在数据库中的节点下。但是下面还有一个"user"带有一些随机值的节点,下面是有关用户的信息(包括uid)。输出如下:- Users         -LBGFtYFTfD3l1hmwHVn          email:  "testuser@test.com"          lastName:"peric"          name:  "pero"          phone: "12321"          uid: "18puc5CzSZfzbdflzekzNCHGHR62"所以,我的问题是,"users"节点下面的这个随机值不应该是uid吗?如果是,该如何设置?我尝试了这个:即使我在用户类中设置了公共获取器和设置器。我需要获取该用户信息,并将其显示在我的应用程序中的某些位置,但是我无法使其正常工作。这是我第一次使用Firebase,而且我已经习惯使用SQL数据库,因此这确实让我感到困惑。另外,关于xamarin.android和firebase的在线信息很少,而且我实际上对编程还是陌生的。任何帮助将不胜感激。这是我切换到SQL在线数据库之前的最后尝试。
查看完整描述

1 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

调用时PostAsync,客户端在调用位置下创建一个新的子节点。这类似于HTTPPOST动词以及push()大多数其他Firebase SDK中的方法。

要将数据写入您确切指定的位置,请使用PutAsync

var item = firebase.Child("users").Child(uid).PutAsync<Account>(user);

请参阅Firebase.Xamarin的自述文件中示例


查看完整回答
反对 回复 2021-05-23
  • 1 回答
  • 0 关注
  • 154 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信