当前位置: 首页 > 知识库问答 >
问题:

使用子数据库中的字段从firebase数据库中检索帖子

桂德义
2023-03-14

此链接中的项目树图像

我正在开发一个社交媒体应用程序

在Firebase数据库中,将有用户节点、发布节点、喜欢节点和请求类型节点

用户节点包含表示用户详细信息的字段,它有一个类似于键的uid

在帖子节点下,会有一个postskey,里面会有帖子的详细信息,如uid、proileimage、postimage、描述、日期、时间、全名帖子节点中的uid是用户节点中的uid

我成功地将图像上传到Firebase存储中,它的url将在子节点内的postimage字段中

为了检索特定用户的帖子并将其显示在特定用户配置文件中,我尝试了以下代码,并将其包含在图像中

但用户的帖子不显示,白色空白活动只显示

你能指导我达到我期望的结果吗?我的英语不好。抱歉,如果你因为我的英语不好而不能理解我的问题

在OnCreate中,

mAuth=FirebaseAuth.getInstance();
currentUserID=mAuth.getCurrentUser().getUid();
PostsRef=FirebaseDatabase.getInstance().getReference().child("Posts");
myPostsList=(RecyclerView)findViewById(R.id.my_all_posts_list);
myPostsList.setHasFixedSize(true);
LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this);
linearLayoutManager.setReverseLayout(true);
linearLayoutManager.setStackFromEnd(true);
myPostsList.setLayoutManager(linearLayoutManager);
DisplayMyAllPosts();

在Displaymyallposts方法中

private void DisplayMyAllPosts() {
    Query myPostsQuery=PostsRef.orderByChild("uid").startAt(currentUserID).endAt(currentUserID+"\uf8ff");
    FirebaseRecyclerOptions<Posts> options=new FirebaseRecyclerOptions.Builder<Posts>().setQuery(myPostsQuery,Posts.class).build();
    FirebaseRecyclerAdapter<Posts,MyPostsViewHolder> firebaseRecyclerAdapter=new FirebaseRecyclerAdapter<Posts, MyPostsViewHolder>(options) {
        @Override
        protected void onBindViewHolder(@NonNull MyPostsViewHolder holder, int position, @NonNull Posts model) {
            holder.fullname.setText(model.getFullname());
            holder.date.setText(model.getDate());
            holder.time.setText(model.getTime());
            holder.description.setText(model.getDescription());
            Picasso.get().load(model.getProfileimage()).into(holder.profileimage);
            Picasso.get().load(model.getPostimage()).into(holder.postImage);
        }

        @NonNull
        @Override
        public MyPostsViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
            View view=LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.all_posts_layout,viewGroup,false);
            MyPostsViewHolder viewHolder=new MyPostsViewHolder(view);
            return viewHolder;
        }
    };
   myPostsList.setAdapter(firebaseRecyclerAdapter);
}

public static class MyPostsViewHolder extends RecyclerView.ViewHolder{
    TextView fullname,date,time,description;
    CircleImageView profileimage;
    ImageView postImage;
    public MyPostsViewHolder(@NonNull View itemView) {
        super(itemView);

        fullname=itemView.findViewById(R.id.post_user_name);
        date=itemView.findViewById(R.id.post_date);
        time=itemView.findViewById(R.id.post_time);
        description=itemView.findViewById(R.id.post_description);
        profileimage=itemView.findViewById(R.id.post_profile_image);
        postImage=itemView.findViewById(R.id.post_image);
    }
}

共有1个答案

卫烨烁
2023-03-14

帖子被检索到这是因为我愚蠢的错误我忘了给开始听这就是无法检索帖子的原因但还有一个问题除了图像所有其他字段都在显示但不是图像图像仍然是空白的

 类似资料:
  • 我正在两个标记之间画一条路线,我想保存那条路线。为此,我将包含lat和lng的ArrayList保存在Firebase数据库中。但我在取回航路点时遇到了问题。我是这样插入的: 在检索数据时,我尝试执行以下操作:

  • 我对Firebase和Android是新手。我已经在我的Firebase帐户中存储了用户身份验证详细信息(姓名、个人资料图像而不是电子邮件ID)。我想检索那些数据(如姓名等)到我的应用程序的其他部分。如何检索实时数据库子值?

  • 我试图创建一个简单的程序,从用户的名字,手机号码和电子邮件地址,然后把数据在Firebase实时数据库。 有3个输入框和一个按钮,按一下就可以完成上面的操作。代码如下: 我这样设置了消防基地:

  • 请帮助我想从Firebase实时数据库检索一个特定的数据,我有2个用户,教授和学生,我想使用该数据进行验证。 FireBase实时数据库 FireBase实时数据库

  • 问题内容: 我目前正在学习Firebase和iOS的知识,因此请耐心等待。我当前正在发布到我的表,如下所示: 我正在尝试检索插入新记录时创建的内容,但是无法检索它。我已经尝试过( 但是由于浏览网页而无法找到一个可靠的解决方案,所以这是一个随机的猜测 )。有任何想法吗? 问题答案: 注意 :-Althogh 是自以来的一项强大功能,但是当您想创建具有唯一键的节点时更喜欢将数据存储到其中。我之所以喜欢