Android
Glide 라이브러리 사용법
mugoori
2023. 2. 7. 14:23
1. 세팅
implementation 'com.github.bumptech.glide:glide:4.14.2'
annotationProcessor 'com.github.bumptech.glide:compiler:4.14.2'
# 그리들에 해당 코드 두줄을 추가해준다
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="false">
<domain includeSubdomains="true">사용할 도메인</domain>
</domain-config>
</network-security-config>
# res > xml 에서 network_security_config 파일을 만들어 해당코드를 써준다
android:targetSandboxVersion="1"
<uses-permission android:name="android.permission.INTERNET" />
android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"
# 매니패스트에 코드 4줄을 사진과같은 위치에 써준다
2. 사용법
Glide.with(context)
.load( 가져올 이미지 )
.placeholder ( 미리 보여줄 이미지 )
.fallback ( 이미지 URL 이 null 인 경우 보여줄 이미지 )
.error ( 에러 시 보여줄 이미지 )
.thumbnail ( 비율 )
.into ( 이미지를 보여줄 View )
# load : 가져올 이미지를 지정한다
placeholder : 이미지를 가져오는 동안 보여줄 이미지
fallback : 이미지 URL 또는 모델이 null 인 경우 표시할 이미지를 지정한다
error : 이미지 가져오기를 실패 시 보여줄 이미지를 지정한다
thumbnail : 지정한 비율만큼만 이미지를 미리 가져와서 보여준다
3. 예제
package com.mugoori.glide;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
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";
@SuppressLint("MissingInflatedId")
@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);
}
}