アンドロイド スタジオ/Firebase(1)
3140 ワード
構造
根
根
-- コメント
-- movidID
-- コメントID
-- プレイリスト
- ユーザーID
-- プレイリストID
//rootNode
FirebaseDatabase rootNode = FirebaseDatabase.getInstance();
//reference
DatabaseReference reference;
// プレイリストに動画を1つ追加する場合
reference = rootNode.getReference("Playlist").child(userID).push();
Playlist playlist = new Playlist(id, userID, img_path, playRef.getKey());
reference .setValue(playlist).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void unused) {
// work of button for adding and removing
btn_playlist.setVisibility(View.INVISIBLE);
btn_playlist.setEnabled(false);
btn_remove.setVisibility(View.VISIBLE);
btn_remove.setEnabled(true);
}
})
// プレイリストから 1 つの動画を削除する場合
DatabaseReference playcheckref = rootNode.getReference().child("Playlist").child(userID);
playcheckref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for(DataSnapshot dataSnapshot : snapshot.getChildren()) {
// if there is the clicked movie in the list if(Objects.requireNonNull(dataSnapshot.getValue(Playlist.class)).getmID().equals(id)){
btn_playlist.setVisibility(View.INVISIBLE);
btn_playlist.setEnabled(false);
btn_remove.setVisibility(View.VISIBLE);
btn_remove.setEnabled(true);
// grab the playlist movie id
String vID = Objects.requireNonNull(dataSnapshot.getValue(Playlist.class)).getvID();
btn_remove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
btn_playlist.setVisibility(View.VISIBLE);
btn_playlist.setEnabled(true);
btn_remove.setVisibility(View.INVISIBLE);
btn_remove.setEnabled(false);
DatabaseReference removeRef = rootNode.getReference("Playlist").child(userID).child(vID);
removeRef.setValue(null);
Toast.makeText(MovieDetail.this, "Successfully deleted" + Objects.requireNonNull(dataSnapshot.getValue(Playlist.class)).getvID(), Toast.LENGTH_SHORT).show();
}
});
} else{
btn_playlist.setOnClickListener(addMovieToList);
}
}
}
Reference
この問題について(アンドロイド スタジオ/Firebase(1)), 我々は、より多くの情報をここで見つけました https://dev.to/hyunjin/android-studiofirebase1-10f1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol