私はソーシャルメディアアプリを作っています。ユーザーはさまざまな投稿にコメントできるようになります。Firebaseからコメントをアップロードしたり、 1回のユーザーコメントは1回のみです。 1人のユーザーが2回以上コメントした場合、コメント行は前のコメントよりも優先されます。以下は、ここに私のデータベース構造 firebaseを使用して1人のユーザーに複数回コメントを付ける方法
はfirebaseにデータを送信するために私のコードです:
private void sendComment() {
final String message=myComment.getText().toString();
if (!TextUtils.isEmpty(message))
{
DatabaseComment.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
DatabaseComment.child(mPostKey).child(mAuth.getCurrentUser().getUid()).child("comments").setValue(message);
hDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
DatabaseComment.child(mPostKey).child(mAuth.getCurrentUser().getUid()).child("othersName")
.setValue(dataSnapshot.child(mAuth.getCurrentUser().getUid()).child("name").getValue());
DatabaseComment.child(mPostKey).child(mAuth.getCurrentUser().getUid()).child("othersDP")
.setValue(dataSnapshot.child(mAuth.getCurrentUser().getUid()).child("DP").getValue());
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
これはONSTART方法で私のFirebaseリサイクラーアダプタです:
FirebaseRecyclerAdapter<Profile,ProfileViewHolder> firebaseRecyclerAdapter=new FirebaseRecyclerAdapter<Profile, ProfileViewHolder>(
Profile.class,
R.layout.commentttt_row,
ProfileViewHolder.class,
DatabaseCommenttttt
) {
@Override
protected void populateViewHolder(final ProfileViewHolder viewHolder, final Profile model, int position) {
viewHolder.setComments(model.getComments());
viewHolder.setOthersName(model.getOthersName());
viewHolder.setOthersDP(model.getOthersDP());
}
};
mProfileList.setLayoutManager(mLayoutManager);
mProfileList.setAdapter(firebaseRecyclerAdapter);
と、この私のViewHolderクラス:
public static class ProfileViewHolder extends RecyclerView.ViewHolder
{
View mView;
LinearLayout mLinearName;
TextView userName;
TextView mComment;
public ProfileViewHolder(View itemView) {
super(itemView);
mView=itemView;
userName=(TextView) mView.findViewById(R.id.post_name);
mLinearName=(LinearLayout) mView.findViewById(R.id.layout_name);
mComment=(TextView) mView.findViewById(R.id.comment);
}
public void setComments(String name)
{
TextView post_phone=(TextView) mView.findViewById(R.id.others_comments);
post_phone.setText(name);
}
public void setOthersName(String othersName) {
TextView post_name=(TextView) mView.findViewById(R.id.others_name);
post_name.setText(othersName);
}
public void setOthersDP(String othersDP) {
CircleImageView post_dp=(CircleImageView) mView.findViewById(R.id.othersaccountImageButton);
if (!othersDP.equals("default"))
Picasso.with(mView.getContext()).load(othersDP).into(post_dp);
}
}
あなたの 'POST'構造にそれらを保存します同じように見える。あなたは別のものに考えるべきです。 –