0
我正在構建一個Android應用程序,允許用戶評論廣告牌頂部100上的每首歌曲(我從JSON文件中解析出這些信息)。我如何去存儲評論(最好是使用Firebase),並在新評論發佈後顯示並刷新它們?Firebase - 用戶對事物的評論
我正在構建一個Android應用程序,允許用戶評論廣告牌頂部100上的每首歌曲(我從JSON文件中解析出這些信息)。我如何去存儲評論(最好是使用Firebase),並在新評論發佈後顯示並刷新它們?Firebase - 用戶對事物的評論
我假設每首歌都有唯一的ID。因此,對於每首歌曲,你可以做什麼是 -
獲取歌曲參考
private DatabaseReference mDatabase;
mDatabase = FirebaseDatabase.getInstance().getReference();
mSongRef = mDatabase.child("SongID");
每當一首歌曲)有人評論,推(Comment類的對象作爲這首歌的子節點:
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());
}});
現在您已擁有最新數據,您可以將註釋添加到列表並更新回收站/列表視圖。
因此,如果我將我的歌曲存儲在數據庫中,這對我來說是完美的。但是,我只有一個JSON文件,上面有100首歌曲,我正在解析該文件,並使用Async Task將每個歌曲顯示爲歌曲對象。我可以點擊每個歌曲對象,它會導致一個包含應用程序用戶評論的頁面。那麼在這種情況下,我可以通過哪些方式來解決這個問題? –
不,我不建議將歌曲存儲在Firebase數據庫中。我說的是隻存儲與每首歌曲相關的歌曲ID,並將其作爲節點存儲,其中評論將作爲兒童存儲在該歌曲中。所以,當用戶點擊一首歌時......從本地存儲器或您存儲的任何地方播放該歌曲並從Firebase獲取評論。 –