【发布时间】:2017-10-08 18:15:06
【问题描述】:
我只想检索活动 id1 和 id2,以便将其保存在列表中。但是,我这样做了,最后一行返回整个对象引用
{Category 1={name=joy, Sprint={Activities={id2=23r90u9329r,
id1=jf92jf943jf94j3f9}, startingDate =08092017, sprintOverallScore=1,
Ending Date=08092017, Number of Weeks=2}}
我怎样才能得到Activities={id2=23r90u9329r,
id1=jf92jf943jf94j3f9}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
//getting the reference of artists node
databaseCategories = FirebaseDatabase.getInstance().getReference("Categories");
databaseCategories.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//clear the list
currentCategories.clear();
//iterate through all the node
for(DataSnapshot postsnapshot: dataSnapshot.getChildren()){
//Category j = postsnapshot.getValue(Category.class);
System.out.println("test: " + postsnapshot.getValue());
我尝试像这样创建 2 个数据库引用,但它返回 NULL:
DatabaseReference databaseCategories, databaseCategories2;
....
databaseCategories.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//clear the list
currentCategories.clear();
//iterate through all the node
for(DataSnapshot postsnapshot: dataSnapshot.getChildren()){
String g = postsnapshot.getKey(); //get the id
databaseCategories2 = FirebaseDatabase.getInstance().getReference("CategoryNew").child(g+"").child("Category 1").child("Sprint").child("Activities");
databaseCategories2.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
System.out.println("test new: " + dataSnapshot.getValue()); //returning NULL
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
【问题讨论】:
-
您在问题中包含了 JSON 树的图片。请将其替换为实际的 JSON 作为文本,您可以通过单击 your Firebase Database console 中的导出 JSON 链接轻松获得该文本。将 JSON 作为文本使其可搜索,让我们可以轻松地使用它来测试您的实际数据并在我们的答案中使用它,一般来说这只是一件好事。
标签: android firebase firebase-realtime-database