Android(Java) - Glide 라이브러리 - 인터넷의 이미지 URL 주소로 앱에 이미지 출력하기

반응형

 

Glide

  • 미디어 디코딩, 메모리 및 디스크 캐싱, 리소스 풀링을 인터페이스로 래핑하는 Android용 오픈 소스 미디어 관리 및 이미지 로딩 프레임워크
  • 비디오 스틸, 이미지 및 애니메이션 GIF 가져오기, 디코딩 및 표시를 지원
  • 개발자가 거의 모든 네트워크 스택에 연결할 수 있는 유연한 API가 포함
  • 기본적으로는 사용자 정의 HttpUrlConnection기반 스택을 사용
  • Google의 Volley 프로젝트 또는 Square의 OkHttp 라이브러리에 플러그인하는 유틸리티 라이브러리도 포함
  • 모든 종류의 이미지 목록을 가능한 한 부드럽고 빠르게 스크롤하는 것
  • 원격 이미지를 가져오고, 크기를 조정하고, 표시해야 하는 거의 모든 경우에도 효과적

Glide 모듈 추가

  • build.gradle (Module)

 

  • dependencies 안의 아래의 코드 추가
dependencies {
  implementation 'com.github.bumptech.glide:glide:4.13.2'
  annotationProcessor 'com.github.bumptech.glide:compiler:4.13.2'
}

URL을 통한 이미지 출력

  • Glide
    • GlideUrl : 이미지를 출력하기 위한 url의 정보를 저장
    • with : 이미지를 출력 할 액티비티 지정
    • load : URL 주소 입력
    • into : 이미지가 출력 될 UI 객체 지정
String imgUrl = "URL 입력";
GlideUrl url = new GlideUrl(imgUrl, new LazyHeaders.Builder().addHeader("User-Agent", "Android").build());
Glide.with(ImageViewerActivity.this).load(url).into(imageView);

URL의 데이터를 받아오기 위한 Volley 라이브러리 추가

Volley 모듈 추가

  • build.gradle (Module)
  • dependencies 안의 아래의 코드 추가
dependencies {
	implementation 'com.android.volley:volley:1.2.1'
}

인터넷 권한 설정

  • manifests - AndroidManifests.xml 파일에 아래의 코드 추가
<uses-permission android:name="android.permission.INTERNET" />

Glide 라이브러리를 이용하여 이미지 URL을 이미지로 출력하기 (Android Studio)

기능 설계

  • 앱이 실행되면 인터넷에서 지정된 이미지 URL을 불러와서 이미지로 출력

레이아웃 UI 설계

  • 뷰 화면에 맞춘 이미지뷰 생성


출력 할 이미지 URL

https://eb-image-test.s3.ap-northeast-2.amazonaws.com/2022-06-30T01_04_04.524193.png


소스 코드

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

		// URL의 이미지를 출력할 이미지뷰 객체 생성
        ImageView imageView = findViewById(R.id.imageView);

		// 이미지 URL의 주소를 저장
        String imgUrl = "https://eb-image-test.s3.ap-northeast-2.amazonaws.com/2022-06-30T01_04_04.524193.png";

		// GLide 라이브러리를 이용하여 이미지 출력
        GlideUrl url = new GlideUrl(imgUrl, new LazyHeaders.Builder().addHeader("User-Agent", "Android").build());
        Glide.with(MainActivity.this).load(url).into(imageView);
    }
}

실행 화면

  • 앱 실행시 URL 주소의 이미지 뷰에 출력

반응형