Firebase - 用户评论事物

时间:2017-05-02 06:39:28

标签: android firebase

我正在构建一个Android应用程序,允许用户评论广告牌前100名上的每首歌曲(我从JSON fie解析该信息)。我将如何存储评论(最好使用Firebase)并在发表新评论后显示和刷新评论?

1 个答案:

答案 0 :(得分:5)

我假设每首歌都有一个唯一的ID。所以对于每首歌你可以做的是 -

  1. 获取歌曲参考

    private DatabaseReference mDatabase;
    
    mDatabase = FirebaseDatabase.getInstance().getReference();
    
    mSongRef = mDatabase.child("SongID");
    
  2. 每当有人评论某首歌时,将()类的对象推送()作为该歌曲的子节点:

    String commentKey = mSongRef.push().getKey();
    mSongRef.child(commentKey).setValue(comment);
    
  3. 现在获取新添加的评论

    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());
    }});
    
  4. 现在您有了最新数据,您可以将评论添加到列表中并更新回收站/列表视图。