Android版Firebase Push无法正常运行

时间:2015-12-18 07:41:55

标签: java android firebase

我在Android应用程序中使用push时出现问题,我在Firebase.com上找到的示例似乎显示了如何使用push来创建节点,而不是键/值。 我可以很容易地在控制台中这样做 ref.push(键); 但是在Android中我找不到这样做的方法,除了这个不起作用的方法,我不知道为什么,是不是因为级联?

Firebase ref1= new Firebase(loc);
ref1.addListenerForSingleValueEvent(new ValueEventListener() {
  @Override
  public void onDataChange(DataSnapshot snapshot) {
  if (snapshot.child(info1).exists()){
  Firebase ref2 = new Firebase(loc2);
  Firebase newinfo = ref2.push();
  newinfo.setValue(info2, new Firebase.CompletionListener() {

    @Override
    public void onComplete(FirebaseError firebaseError, Firebase firebase) {
    if (firebaseError != null) {
    } else {
    Toast.makeText(Activity.this,"Done!" , Toast.LENGTH_SHORT).show();
    }}});}}

  @Override
  public void onCancelled(FirebaseError firebaseError) {
  }});}

我的应用程序始终显示"完成!"但没有数据写在Firebase上。

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题

Firebase ref2 = new Firebase(loc2);
Firebase ref3 = ref2.push();
Map<String, Object> info = new HashMap<String, Object>();
info.put(ref3.getKey(), info2);
ref2.updateChildren(info, new Firebase.CompletionListener() {
  @Override
  public void onComplete(FirebaseError firebaseError, Firebase firebase) {
  if (firebaseError != null) {
  } else {
     Toast.makeText(Activity.this, "Done!", Toast.LENGTH_SHORT).show();
  }
}});}}

@Override
public void onCancelled(FirebaseError firebaseError) {
}});}