Android Firebase如何在特定用户下保存和检索数据

Posted

技术标签:

【中文标题】Android Firebase如何在特定用户下保存和检索数据【英文标题】:Android Firebase how to save and retrieve data under specific user 【发布时间】:2016-08-07 07:26:52 【问题描述】:

我正在尝试将我的应用与 firebase 集成以将简单数据保存在云端。

示例:

用户打开应用并登录。

用户写一些东西,数据保存在云端。

当用户再次使用该应用时,他将看到他的数据。

我已阅读文档,但找不到任何示例 结构在用户和数据之间起作用。 用户已登录,现在如何为该用户保存字符串/对象?

我尝试了什么:

用户登录或验证用户

Firebase ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com");
ref.addAuthStateListener(new Firebase.AuthStateListener() 
    @Override
    public void onAuthStateChanged(AuthData authData) 
        if (authData != null) 
            // user is logged in
         else 
            // user is not logged in
        
    
);

现在如何在该用户下保存对象/字符串?

【问题讨论】:

【参考方案1】:

您似乎正在使用旧的 android API for Firebase。 使用最新的 Android API,您的代码中不再需要 "https://&lt;YOUR-FIREBASE-APP&gt;.firebaseio.com"。 我建议迁移,使用that migration guide。

一旦您按照guide 登录您的用户

然后您可以将用户信息存储在documentation 中:

String userId = FirebaseAuth.getInstance().getCurrentUser().getUid();
mDatabase.child("users").child(userId).child("name").setValue("John");

不要忘记更改您在 Firebase 中的安全规则,以确保只有此用户可以访问他自己的数据:guide here。这样做非常简单快捷,而且对于保护用户数据的私密性非常重要。

【讨论】:

以上是关于Android Firebase如何在特定用户下保存和检索数据的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Firebase 获取特定用户的用户名?

我如何在 firebase firestore android 中检索文档以匹配我的特定登录凭据

如何使用 Firebase 中的用户令牌向特定用户发送通知?

如何从 Firebase android kotlin 获取所有具有特定价值的孩子?

Android firebase:仅向付费用户发送推送通知

如何根据 android 中的用户位置从 Firebase 数据库中检索数据?