강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

DarkRay CH님의 프로필 이미지
DarkRay CH

작성한 질문수

Firebase 서버를 통한 Android앱 개발 지침서

setValue

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

작성

·

234

0

taskSnapshot.getDownloadUrl(); 이코드가 없어졌어요

그래서 업로드한 경로를 알려면

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())
        {

            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
            // ...
       
}
    }
});

 

 Uri downloadUrl = task.getResult(); 코드를 쓰면 됩니다.

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
DarkRay CH님의 프로필 이미지
DarkRay CH

작성한 질문수

질문하기