Firebase 获取与用户ID匹配的用户帖子:flatter

Firebase 获取与用户ID匹配的用户帖子:flatter,firebase,flutter,firebase-realtime-database,flutter-web,Firebase,Flutter,Firebase Realtime Database,Flutter Web,伙计们,我正忙着将用Java编写的android应用程序迁移到Flatter,但我遇到了一个问题 下面是我正在努力转换为flatter的代码。我有没有办法把它转换过来 posts_ref = db.ref('Posts'); posts_ref.onValue.listen((e) { DataSnapshot datasnapshot = e.snapshot; int i = 0; if(datasnapshot.numChildr

伙计们,我正忙着将用Java编写的android应用程序迁移到Flatter,但我遇到了一个问题

下面是我正在努力转换为flatter的代码。我有没有办法把它转换过来

posts_ref = db.ref('Posts');
      posts_ref.onValue.listen((e) {
        DataSnapshot datasnapshot = e.snapshot;
        int i = 0;
        if(datasnapshot.numChildren() != null){
          Post post = datasnapshot.val();
          if(post.publisher == user.uid){
            i++;

            posts = i.toString();

          }
        }
      });
下面是我在android应用程序中的Java代码

private void getNrPosts(){
        DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Posts");
        reference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NotNull DataSnapshot dataSnapshot) {
                int i = 0;
                for (DataSnapshot snapshot : dataSnapshot.getChildren()){
                    Post post = snapshot.getValue(Post.class);
                    if (post.getPublisher().equals(firebaseUser.getUid())){
                        i++;
                    }
                }
                posts.setText(MessageFormat.format("{0}", i));
            }

            @Override
            public void onCancelled(@NotNull DatabaseError databaseError) {

            }
        });
  }

所有的帮助都将非常有用,并提前感谢您

问题在于实时数据库的颤振库没有直接等效的:

for (DataSnapshot snapshot : dataSnapshot.getChildren()){
图书馆的回购协议上有一个关于它的条款,但看起来好像已经关闭了

同时,您可以监听
onChild…
事件来完成相同的任务。或者,您可以使用库中的
FirebaseList
来完成相同的操作


关于这两个问题的示例,请参见我的较长答案:

嘿,蒂汉·尼科。我解释了为什么不能对下面编码的Java进行直译。你有没有机会读到这一点,并尝试链接答案中的方法?如果我的答案有用,请单击向上投票按钮(▲) 如果它回答了您的问题,请单击复选标记(✓) 接受它。这样别人就会知道你已经得到了(足够的)帮助。也请参见