728x90
Storage 파일 삭제
storage 파일 삭제는 해당 파일명이 필요하다.
우선 파일 업로드시 파일 명을 ImageDTO에 저장한다.
imageDTO.setImageName(file.getLastPathSegment());
child 파라미터로 폴더명이나 파일명 조합으로 한다.
.child("폴더명").child("파일명")
private void onDeleteImage(final int position)
{
storage.getReference().child("images").child(imageDTOList.get(position).getImageName()).delete().addOnSuccessListener(new OnSuccessListener<Object>() {
@Override
public void onSuccess(Object o) {
onDeleteContent(position);
}
});
}
실시간 데이터베이스 삭제
Content를 테이블 명이라고 생각하면 편하겠다.
.child("Content") //Content 내에서
.child(uidList.get(position)) //Key 명 을 삭제
private void onDeleteContent(int position)
{
firebaseDatabase.getReference().child("Content").child(uidList.get(position)).removeValue().addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Toast.makeText(context, "삭제 성공", Toast.LENGTH_SHORT).show();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
System.out.println("error: "+e.getMessage());
Toast.makeText(context, "삭제 실패", Toast.LENGTH_SHORT).show();
}
});
}
키 얻는 방법
값 이벤트 수신 대기 (옵저버 패턴)
ds.getKey();
private List<String> uidList = new ArrayList<>(); //게시물 key
//옵저버 패턴 --> 변화가 있으면 클라이언트에 알려준다.
firebaseDatabase.getReference().child("Content").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) { //변화된 값이 DataSnapshot 으로 넘어온다.
//데이터가 쌓이기 때문에 clear()
imageDTOList.clear();
uidList.clear();
for(DataSnapshot ds : dataSnapshot.getChildren()) //여러 값을 불러와 하나씩
{
ImageDTO imageDTO = ds.getValue(ImageDTO.class);
String uidKey = ds.getKey();
imageDTOList.add(imageDTO);
uidList.add(uidKey);
}
uploadedImageAdapter.notifyDataSetChanged(); //변화시 갱신
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
'Front-end > Android (안드로이드 앱 개발)' 카테고리의 다른 글
Android Studio , Firebase 파이어베이스 : 원격 구성 , remote config (0) | 2021.01.22 |
---|---|
Android Studio , Firebase 파이어베이스 : 실시간 데이터베이스 트랜잭션 (Transaction), 좋아요 구현 (0) | 2021.01.18 |
Android Studio , Firebase 파이어베이스 : 실시간 데이터베이스 데이터 읽고 쓰기 (like. 인별그램) (3) | 2021.01.12 |
Android Studio , 사진 가져오기 , Glide (0) | 2021.01.08 |
Android Studio , Firebase 파이어베이스 Storage 저장 (1) | 2021.01.04 |
댓글