Glide 라이브러리는 이미지 처리를 할 때 사용한다.
https://github.com/bumptech/glide
GitHub - bumptech/glide: An image loading and caching library for Android focused on smooth scrolling
An image loading and caching library for Android focused on smooth scrolling - GitHub - bumptech/glide: An image loading and caching library for Android focused on smooth scrolling
github.com
1. 아래 링크 게시글을 참고하여서 안드로이드 스튜디오에서 네트워크 통신이 되도록 설정한다.
https://yu1129.tistory.com/214
애뮬레이터에서 네트워크 통신 되도록 설정하는 방법
애뮬레이터에서 네트워크 통신이 되도록 하기위한 AndroidManifest.xml 파일 설정법 1. AndroidManifest.xml 파일로 이동하여서 인터넷 권한을 설정해준다. 2. 새로운 xml 파일을 생성한다. 파일명은 network_sec
yu1129.tistory.com
2. build.gradle 파일에 dependencies 코드를 작성한다.

implementation 'com.github.bumptech.glide:glide:4.14.2'
annotationProcessor 'com.github.bumptech.glide:compiler:4.14.2'
3. 코드 작성
Glide 라이브러리의 코드 사용법은
Glide.with( 액티비티 ).load( 이미지 URL 주소 ).into( 나타낼 이미지뷰 아이디 );
로 작성한다.
아래 코드에서 사용한 placeholder 코드는 네트워크를 통해 이미지를 가져올 때, 로딩되는 시간동안 이미지뷰에 나타낼 이미지를 의미한다.
Glide.with(MainActivity.this).load(URL1).placeholder(R.drawable.baseline_person_outline_24).into(imageView1);
public class MainActivity extends AppCompatActivity {
ImageView imageView1;
ImageView imageView2;
ImageView imageView3;
final String URL1 = "https://via.placeholder.com/600/92c952";
final String URL2 = "https://block-yh-test2.s3.ap-northeast-2.amazonaws.com/2023-01-13T03_31_12.564141.jpeg";
final String URL3 = "https://block-yh-test2.s3.ap-northeast-2.amazonaws.com/2023-01-13T03_46_46.079772.jpg";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView1 = findViewById(R.id.imageView1);
imageView2 = findViewById(R.id.imageView2);
imageView3 = findViewById(R.id.imageView3);
Glide.with(MainActivity.this).load(URL1).placeholder(R.drawable.baseline_person_outline_24).into(imageView1);
Glide.with(MainActivity.this).load(URL2).into(imageView2);
Glide.with(MainActivity.this).load(URL3).into(imageView3);
}
}
실행 결과

전체 코드
main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/imageView1"
android:layout_width="200dp"
android:layout_height="200dp"
android:scaleType="centerCrop"
app:srcCompat="@drawable/baseline_person_outline_24" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="200dp"
android:layout_height="150dp"
app:srcCompat="@drawable/baseline_person_outline_24" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="250dp"
android:layout_height="200dp"
app:srcCompat="@drawable/baseline_person_outline_24" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
Mainactivity.java
package com.dbrud1032.glide;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
public class MainActivity extends AppCompatActivity {
ImageView imageView1;
ImageView imageView2;
ImageView imageView3;
final String URL1 = "https://via.placeholder.com/600/92c952";
final String URL2 = "https://block-yh-test2.s3.ap-northeast-2.amazonaws.com/2023-01-13T03_31_12.564141.jpeg";
final String URL3 = "https://block-yh-test2.s3.ap-northeast-2.amazonaws.com/2023-01-13T03_46_46.079772.jpg";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView1 = findViewById(R.id.imageView1);
imageView2 = findViewById(R.id.imageView2);
imageView3 = findViewById(R.id.imageView3);
Glide.with(MainActivity.this).load(URL1).placeholder(R.drawable.baseline_person_outline_24).into(imageView1);
Glide.with(MainActivity.this).load(URL2).into(imageView2);
Glide.with(MainActivity.this).load(URL3).into(imageView3);
}
}'Android' 카테고리의 다른 글
| 안드로이드 스튜디오 버튼 클릭 Intent ACTION_VIEW Uri.parse 활용코드 (0) | 2023.02.07 |
|---|---|
| 상단바 (Action bar) 에 옵션 메뉴 구현하기 (0) | 2023.02.07 |
| 네트워크로부터 받은 Json 데이터에서, json 의 array 를 RecyclerView 로 처리 (0) | 2023.02.03 |
| JSON 데이터 파싱하는 방법 (0) | 2023.02.03 |
| 안드로이드 네트워크 통신을 위한 Volley 라이브러리 (0) | 2023.02.03 |