[Firebase] 실시간 채팅방 만들기 - Storage - 2 (Glide 사진 불러오기)

원준·2023년 10월 12일

Firebase

목록 보기
10/11

그냥 url를 통해 불러오면 되는거 아냐?

  • 안된다.
  • 일반적으로 사용되는 경로가 아니기도 하고 클래스의 형태로 되어있다보니 정상적으로 불러오지 못한다!!

하는 방법을 알려줘야지...

1. 설정

  • Module 수준 Gradle에 라이브러리를 설치해주자!
    dependencies {
    	//...
       
       implementation 'com.firebaseui:firebase-ui-storage:7.2.0'
       implementation 'com.github.bumptech.glide:glide:4.15.1'
       annotationProcessor('com.github.bumptech.glide:compiler:4.11.0')
    }

2. 상위 경로에 클래스 생성

  • 상위 경로에 MyAppGlideModule똑같이!!! 작성해서 만들자!!

3. 내용 입력

  • 내용도 꼭 똑같이 적어야한다!!!
  • Glide가 Firebase Storage 파일을 읽을 수 있도록 설정하는 것이니 꼭 똑같이 하자!!!
    @GlideModule
      public final class MyAppGlideModule extends AppGlideModule {
          @Override
          public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
              registry.append(StorageReference.class, InputStream.class, new FirebaseImageLoader.Factory());
          }
      }

4. 잘되는지 확인해보자

  • 보내진 메시지에 Storage 이미지 경로가 작성되어 있어야한다!!!

    // 스토리지 불러오기
    FirebaseStorage storage = FirebaseStorage.getInstance();
    // 메시지에 작성된 경로를 스토리지의 경로로 지정
    StorageReference storageRef = storage.getReference(message.getContent());
    
    // 정해진 경로에 있는 스토리지를 load에 작성
    Glide.with(context).load(storageRef).placeholder(R.drawable.baseline_broken_image_24)
                        .override(300, 300)
                        .diskCacheStrategy(DiskCacheStrategy.DATA)
                        .into(holder.imgMessage);
  • 완성된 결과!!

profile
공부해보자

0개의 댓글