Android - Firebase - TaskSnapshot - Method는 개인 범위 내에서만 액세스해야 합니까?
모든 것이 잘 되어가고 있었습니다...3개월간의 휴식을 마치고 업무에 복귀하여 Firebase를 9.8에서 10.0.1로 업데이트할 때까지
이제 나의 모든 전화는TaskSnapshot
나에게 오류를 주고 있습니다.
다음은 이전에 정상적으로 작동했던 코드의 예입니다.
OnSuccessListener<UploadTask.TaskSnapshot> successListener = new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
attachments.add(fileName + "*-*" + taskSnapshot.getDownloadUrl().toString());
numberOfCallbacks++;
if (numberOfFiles == numberOfCallbacks) {
currentUpload = false;
onClickSendAlert(sendingView);
}
}
};
제가 지금 받는 오류는taskSnapshot.getDownloadUrl()
.
Android Studio는 빨간색 줄에 밑줄을 그으며 다음과 같이 말합니다.
이 방법은 테스트 또는 개인 범위 내에서만 액세스할 수 있습니다.
누가 왜 이런 일이 일어나는지 설명해 줄 수 있나요?저는 이틀 연속으로 하루 종일 조사를 하고 있는데 아무리 해도 이것을 알아낼 수가 없습니다(부끄럽습니다).
이 코드는 파일을 Firebase Storage에 업로드한 다음 파일이 완료되면 사용됩니다.OnSuccess
), 다운로드 URL을 가져와 Firebase 데이터베이스에 저장합니다.이것은 제가 10.0.1로 업데이트하기 전에 잘 작동했습니다.다른 모듈의 다운로드 작업에서도 동일한 오류가 발생합니다.
다음은 제 상황을 더 잘 볼 수 있는 스크린샷입니다.
이 문제는 린트 체크가 지나치게 열성적이어서 발생한 것으로 보입니다.다음과 같은 방법을 사용해 보십시오.
@SuppressWarnings("VisibleForTests") Uri downloadUrl = taskSnapshot.getDownloadUrl();
이 속임수는 저에게 효과가 있었습니다.이 버그 보고서와 관련된 문제라면 2.4에서 수정해야 합니다.
저는 같은 문제에 갇혀 있었고 경고가 저에게 효과가 없었다는 것을 억제했습니다.전체 다운로드를 위해 URI는 다음 코드를 사용했습니다.
ref.putFile(imagePath).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
ref.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
Log.d("URL", uri.toString());
// This is the complete uri, you can store it to realtime database
}
});
}
});
이것이 누군가에게 도움이 되기를 바랍니다.
저도 같은 문제가 있었는데 Firebase 버전을 업데이트했을 때 문제가 사라졌습니다.10.0.1을 사용하다가 11.0.0을 사용합니다.
사용하다
@VisibleForTesting
internal val something
또는
@VisibleForTesting
internal fun foo()
언급URL : https://stackoverflow.com/questions/41105586/android-firebase-tasksnapshot-method-should-only-be-accessed-within-privat
'itsource' 카테고리의 다른 글
LEA EAX, [EAX]의 의미는 무엇입니까? (0) | 2023.06.21 |
---|---|
SELECT max(x)가 null을 반환합니다. 0을 반환하려면 어떻게 해야 합니까? (0) | 2023.06.21 |
오류: C 스택 사용량이 제한에 너무 가깝습니다. (0) | 2023.06.21 |
PyCrypto AES-256을 사용한 암호화 및 암호 해독 (0) | 2023.06.21 |
동적 vuex 모듈과 새 클래스를 등록하는 중 (0) | 2023.06.21 |