如何从Firebase Realtime DB获取两个变量

时间:2017-09-10 07:34:47

标签: java android firebase-realtime-database

在我的应用程序中,我想从我的数据库中获取两个整数变量 My Realtime database

我想从'text_1'获得'gedrueckt'。但是我一直在努力学习非常复杂的指南(我的英语不是最好的,或者或多或少是java新手)以及我因为应用程序崩溃而无法工作的东西......

我终于尝试了这个,但是如果从我的数据库中获取正确的东西以及如何因为崩溃而让它工作,我就不会感到害羞。

MainActivity.java:

$source_array = [];
$new_array = [];
foreach ($source_array as $key => $value) {
    $new_array[] = [
        'cols' => $key,
        'rows' => $value,
    ];
}

在那里使用代码时出错:

        myRef.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
            String text = "text_" + selecter;
            Log.d(TNOT, dataSnapshot.getValue(String.class));

        }

希望你能帮我解决这个问题。

MrMinemeet

1 个答案:

答案 0 :(得分:1)

您必须阅读Key-Pairs等值。

  for (DataSnapshot data : dataSnapshot.getChildren()) {
    String yourText = String.valueOf(data.child("name from your fierbase child ").getValue());
    yourObjectList.add(yourTextValue);
  }

或一个完整的例子:

private DatabaseReference mDataBaseRef;
mDataBaseRef= FirebaseDatabase.getInstance().getReference()

ValueEventListener postListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
    int youtItemId = dataSnapshot.child("user").child("yourItemId").getValue(Integer.class);
}

@Override
public void onCancelled(DatabaseError databaseError) {
    // Log the message from databaseError
  }
};

mDataBaseRef.addValueEventListener(postListener);

另一个例子:

DatabaseReference reference = 
database.getReference("UserInfo").child("gameStats");
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {

    // You have to use key-value pairs like in ContentValues
    // To loop through the values

    for (DataSnapshot snap: dataSnapshot.getChildren()) {
     snap.child("child") yourObeject.getValue(youObject.Class) 

    }

}

}