• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

Database 에서 버전이 바뀌면서 코드도 바껴서 적어 드려요

21.01.01 18:21 작성 조회수 132

0

taskSnapshot.getDownloadUrl(); 이코드가 없어졌어요<o:p></o:p>

그래서 업로드한 경로를 알려면<o:p></o:p>

Task<Uri> urlTask = uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
   
@Override
   
public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
       
if (!task.isSuccessful()) {
           
throw task.getException();
        }

       
// Continue with the task to get the download URL
       
return riversRef.getDownloadUrl();
    }
}).addOnCompleteListener(
new OnCompleteListener<Uri>() {
   
@Override
   
public void onComplete(@NonNull Task<Uri> task) {
       
if (task.isSuccessful())
        {<o:p></o:p>

            Toast.makeText(UploadActivity.this, "업로드 성공", Toast.LENGTH_SHORT).show();

            
//파이어베이스에 데이터베이스 업로드
           
@SuppressWarnings("VisibleForTests")
            Uri downloadUrl = task.getResult();

            ImageDTO imageDTO =
new ImageDTO();
            imageDTO.setImageUrl(downloadUrl.toString());
            imageDTO.setTitle(
etTitle.getText().toString());
            imageDTO.setDescription(
etDesc.getText().toString());
            imageDTO.setUid(
mAuth.getCurrentUser().getUid());
            imageDTO.setUserId(
mAuth.getCurrentUser().getEmail());

           
//image 라는 테이블에 json 형태로 담긴다.
            //database.getReference().child("Profile").setValue(imageDTO);
            //  .push()  : 
데이터가 쌓인다.
           
database.getReference().child("Profile").push().setValue(imageDTO);

            Intent intent =
new Intent(getApplicationContext(), UserActivity.class);
            startActivity(intent);

        }
else {
           
// Handle failures
            // ...
       
}
    }
});<o:p></o:p>

<o:p> </o:p>

 Uri downloadUrl = task.getResult(); 코드를 쓰면 됩니다.<o:p></o:p>


  

답변 0

답변을 작성해보세요.

답변을 기다리고 있는 질문이에요.
첫번째 답변을 남겨보세요!