当前位置: 首页 > 知识库问答 >
问题:

无法从Android向Firebase数据库发布数据

苏乐
2023-03-14

我正在将Firebase用于我的Android平台聊天应用程序。我正在将此库用于Firebase数据库:

compile 'com.google.firebase:firebase-database:9.6.0' 

我按照这里的所有步骤来设置我的项目。我为Firebase数据库的< code>read和< code>write权限设置了< code>true。

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

我使用下面的代码将我的数据发送到Firebase数据库(单击按钮后,下面的代码块触发):

String name = loyalUserText.getText().toString().trim();

FirebaseDatabase db = FirebaseDatabase.getInstance();
DatabaseReference dbRef = db.getReference().child("name");
dbRef.setValue(name);
Log.e(TAG, "onClick: "+dbRef.toString());

我的日志返回以下信息:

 E/LoginActivity: onClick:https://poztal-14f48.firebaseio.com/name

然后我检查了我的Firebase数据库,没有条目。它看起来是空的。我创建了一个具有相同子名("name")的子级,并在其中添加了一个新值。

但是这个值没有反映到我的ValueEventListener应用程序中。问题是我的应用程序没有与Firebase数据库通信。

更新:

我在活动中实现的侦听器是“完成”侦听器

dbRef.setValue(name).addOnCompleteListener(this);

@Override
    public void onComplete(@NonNull Task<Void> task) {
        Log.e(TAG, "onComplete: " + task.isComplete());
        Log.e(TAG, "onComplete: " + task.toString());
    }

并且未到达该<code>onComplete()

提前感谢。


共有2个答案

冯庆
2023-03-14

如果您尝试将[NAME]插入名为name的字段,请尝试Map

Map<String, String> param = new HashMap<>();
param.put("name", loyalUserText.getText().toString().trim());

Firebase reference = new Firebase(YOUR_FIREBASE_URL);
reference.push().setValue(param);
朱刚捷
2023-03-14

请使用pojo类将您的值设置到firebase数据库中,如下所示。

String name = loyalUserText.getText().toString().trim();
User user = new User();
user.setName(name);
FirebaseDatabase db = FirebaseDatabase.getInstance();
DatabaseReference dbRef = db.getReference().child("name");

dbRef.setValue(user);
 类似资料:
  • 我正在尝试用Firebase制作一个简单的Android应用程序。 目前,我只是试图从Firebase实时保存用户数据库。但由于某种原因它不起作用。另一方面,身份验证工作完美。 数据库本身没有显示任何内容。它总是显示“null” 我一直在关注这个YouTube教程,并一直在做一些类似的事情。 当我尝试创建一个用户并将其发送到数据库时,运行的程序没有给出任何答案。我有一个进度条,一旦setValue

  • 我正在尝试获取我的用户名,并在应用程序打开时向他/她问好。但我无法根据某个用户的uid获取数据。当我运行应用程序时,祝酒词从未真正出现。 数据库结构 密码

  • 我试图显示一个零件的"loc",如果它的零件号我给。以下是数据结构的样子: 活动代码: getLoc是Product类的getter函数,它返回给定curP对应的“loc”。curP部分表示子值。 逻辑对我来说似乎是正确的,但我没有得到输出。我哪里出了问题?

  • Microsoft SQL Server Database Publishing Wizard (微软SQL Server数据库发布向导) 是微软发布的一个开源工具,使用该工具可以帮你将 SQL SERVER 数据库导出成一个 SQL 脚本,类似 MySQL 的 mysqldump 工具。 官方说明:SQL Server 数据库发布向导提供了一种将数据库发布到 T-SQL 脚本或者直接发布到支持宿主服务提供程序的方法。

  • 我无法将数据从postman发布到我正在使用的mysql数据库express 我尝试过使用Body和Raw x-www-form-urlencoded 这是我的代码(是的,所有内容都在同一个文件中,我知道这不是一件好事,我很抱歉) 这是我在邮递员和数据库中的截图错误