我正在构建一个Android应用程序,允许用户评论广告牌前100名上的每首歌曲(我从JSON fie解析该信息)。我将如何存储评论(最好使用Firebase)并在发表新评论后显示和刷新评论?
答案 0 :(得分:5)
我假设每首歌都有一个唯一的ID。所以对于每首歌你可以做的是 -
获取歌曲参考
private DatabaseReference mDatabase;
mDatabase = FirebaseDatabase.getInstance().getReference();
mSongRef = mDatabase.child("SongID");
每当有人评论某首歌时,将()类的对象推送()作为该歌曲的子节点:
String commentKey = mSongRef.push().getKey();
mSongRef.child(commentKey).setValue(comment);
现在获取新添加的评论
mSongRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Comment comment = dataSnapshot.getValue(Comment.class);
Log.d(TAG, "Comment: " + comment.getCommentText() + ", User: " + comment.getUsername());
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
Log.w(TAG, "Failed to read value.", error.toException());
}});
现在您有了最新数据,您可以将评论添加到列表中并更新回收站/列表视图。