изображение дерева проекта по этой ссылке
Я занимаюсь разработкой приложения для социальных сетей
В базе данных Firebase будет узел «Пользователи», «посты», «лайки»и узлы типа запроса
Узлы пользователей содержат поля, представляющие сведения о пользователях, и имеют идентификатор пользователя, подобный ключу
Под узлом постов будет находиться пост-ключ внутри него, будетсведения о сообщениях, такие как uid, profileimage, postimage, описание, дата, время, полное имя. UID в узле posts - это uid в узле Users.
Я успешно загрузил изображения в хранилище 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);
}
}