我正在开发一个帖子应用。里面有很多帖子,用户可以选择其中之一来添加评论。用户发送的每个帖子都可以被其他用户喜欢。它基本上是它。问题是即时通讯无法使应用程序验证其是否已喜欢该帖子。为此,我得到了一个firebase结构,它保存了每个帖子以及每个帖子和给用户一个赞的用户的消息。我尝试了许多不同的方法使其正常运行,但没有成功。林很难尝试搜索用户是否存在于喜欢的帖子中。这是我的火力库的结构。
这是我尝试研究的一种方法,但是没有用。我已经连续三天尝试了此操作,但是我对Firebase的经验不足,并且无法进行大量测试。有人可以帮我吗?
DatabaseReference curtidasRef = ConfiguracaoFirebase.getFirebaseDatabase();
curtidasRef.child("mensagens-curtidas")
.child(mensagem.getIdPostMensagem());
curtidasRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot ds: dataSnapshot.getChildren()){
//MensagemCurtida msg = d.getValue(MensagemCurtida.class);
//Log.i("pesquisa", "nick " + msg.getNickUsuario());
Log.i("pesquisa", "retorno: " + ds.getValue().toString());
if (ds.hasChild(usuarioLogado.getIdUsuario())){
Log.i("pesquisa", "TEM FILHO: ");
myViewHolder.likeButton.setLiked(true);
} else {
Log.i("pesquisa", "NAO TEM FILHO: ");
myViewHolder.likeButton.setLiked(false);
}
}
}