我使用Android Studio和Firebase开发的应用程序出现问题。 我想从firebase获取数据并将其与来自firebase的其他数据进行比较,并在列表视图中显示它。 我想要的数据是下图中的字符串。
这里的问题是,我不知道如何从数据库中获取多个字符串。
这是我一直在尝试的代码:
public class testActivity extends AppCompatActivity {
private DatabaseReference applydatabase;
String app;
String applied;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
app = getIntent().getExtras().getString("id");
applydatabase = FirebaseDatabase.getInstance().getReference().child("Apply").child(app).child("Applyid");
applydatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
applied = dataSnapshot.getValue().toString();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
答案 0 :(得分:0)
您可以使用DataSnapshot.getChildren()
获取子节点并循环遍历它们。
applydatabase = FirebaseDatabase.getInstance().getReference().child("Apply").child(app).child("Applyid");
applydatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String first = null, second = null;
for (DataSnapshot child: dataSnapshot.getChildren()) {
if (first == null) {
first = child.getValue(String.class);
} else if (second == null)
second = child.getValue(String.class);
}
}
// TODO: compare first and second
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException(); // don't ignore errors
}
});