获取与用户 ID 匹配的用户帖子:Flutter
Posted
技术标签:
【中文标题】获取与用户 ID 匹配的用户帖子:Flutter【英文标题】:Fetch users post that matches user ID : Flutter 【发布时间】:2021-02-10 07:16:19 【问题描述】:伙计们,我正忙着将我用 Java 编写的 android 应用迁移到颤振,但我遇到了一个问题。
以下是我在转换为颤振时遇到的问题。有什么办法可以转换吗?
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)
);
所有帮助都将非常有用,提前感谢您!
【问题讨论】:
【参考方案1】:问题在于实时数据库的 Flutter 库没有直接等效的:
for (DataSnapshot snapshot : dataSnapshot.getChildren())
在库的 repo 上有一个feature request,但它看起来已经关闭了。
与此同时,您可以侦听onChild...
事件来完成相同的操作。或者,您可以使用库中的FirebaseList
来完成相同的操作。
在此处查看我更长的答案以获取两者的示例:Flutter: Firebase Real-Time database orderByChild has no impact on query result
【讨论】:
以上是关于获取与用户 ID 匹配的用户帖子:Flutter的主要内容,如果未能解决你的问题,请参考以下文章
如何获取用户 ID 并以 Angular 6 的形式返回他的帖子及其评论
使用 *ngFor (angular + apollo + graphcool) 获取用户的帖子