繁体   English   中英

无法将数据从Android发布到Firebase数据库

[英]Unable to post data to Firebase Database from Android

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

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

我按照从这里开始的所有步骤来设置我的项目。 我把true两种readwrite我的火力地堡数据库权限。

{
  "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数据库通信。

更新:

我在活动中实现的侦听器是OnCompleteListener<Void>

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());
    }

并且未达到此onComplete()块。

提前致谢。

请使用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);

如果您要在名为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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM