안드로이드 자바

[Java][Android] Glide를 사용해서 이미지뷰에 이미지 띄우기

teamnova 2021. 3. 7. 13:00
728x90

이번 포스팅에서는 Glide라는 라이브러리를 사용해서 이미지뷰에 이미지를 띄우는 앱을 만드는 방법을 알려드릴게요.

 

스틱코드 플러그인을 이용해서 빠르게 만들어볼게요.

 

Glide에 대한 자세한 내용은 아래 링크를 참고해 주세요.

github.com/bumptech/glide

 

bumptech/glide

An image loading and caching library for Android focused on smooth scrolling - bumptech/glide

github.com

 

 

먼저 앱 수준 gradle 파일에 아래의 의존성 문구를 추가해줍니다.

implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'

 

그리고 xml 코드를 먼저 작성하겠습니다.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    
    <ImageView
        android:id="@+id/glide_imageview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</LinearLayout>

Glide로 이미지뷰에 이미지를 보여주는 것이 목적이기 때문에 간단하게 이미지뷰 하나만 두었습니다.

 

마지막으로 자바 파일도 작성하겠습니다.

이 때 Glide를 사용하려면 몇 가지 처리가 필요한데요.

여기서 스틱코드를 통해 빠르게 Glide를 쓸 수 있도록 만들어 보겠습니다.

이 포스팅에서 사용한 스틱코드 주소는 아래 링크를 참고해 주세요.

stickode.com/detail.html?no=1934

 

스틱코드

 

stickode.com

 

이제 자바 파일을 만들어 보겠습니다. 먼저 아래와 같은 형태로 만들어줍니다.

import android.os.Bundle;
import android.widget.ImageView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity
{
    final private static String TAG = "MainActivity";

    ImageView imageView;

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

        imageView = findViewById(R.id.glide_imageview);
    }

}

그 다음 imageView = findViewById(R.id.glide_imageview); 코드 밑에 공간을 만들어준 다음, 소문자로 glide를 입력하시면 아래와 같이 스틱코드에 저장된 코드가 보입니다.

 

 

엔터를 눌러 코드를 불러오면 아래와 같은 코드가 완성될 겁니다.

import com.bumptech.glide.Glide;

import android.os.Bundle;
import android.widget.ImageView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity
{
    final private static String TAG = "MainActivity";

    ImageView imageView;

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

        imageView = findViewById(R.id.glide_imageview);

        // Glide로 이미지뷰에 이미지 set
        Glide.with(this)
                .load()
                .into(imageView);
    }

}

load() 안에 커서가 깜박이는 걸 볼 수 있는데요. 여기에는 가져올 이미지가 위치한 경로를 입력해주면 됩니다.

저는 안드로이드 스튜디오에서 기본으로 제공하는 mipmap 폴더 안에 저장된 이미지를 사용하겠습니다.

into() 안에는 어떤 뷰에 이미지를 붙여넣을지를 써주면 됩니다. 위에서 xml 파일에 만들어 둔 이미지뷰를 참조하는 객체가 있기 때문에, into() 안에 imageView를 썼습니다.

만약 다른 이름으로 만들었다면 imageView 부분을 다른 이름으로 바꿔주면 됩니다.

 

완성된 자바 파일의 형태는 아래와 같습니다.

import com.bumptech.glide.Glide;

import android.os.Bundle;
import android.widget.ImageView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity
{
    final private static String TAG = "MainActivity";

    ImageView imageView;

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

        imageView = findViewById(R.id.glide_imageview);

        // Glide로 이미지뷰에 이미지 set
        Glide.with(this)
                .load(R.mipmap.ic_launcher)
                .into(imageView);
    }

}

 

이제 완성했으니 앱을 실행시켜 보겠습니다.

앱을 실행하면 아래의 스크린샷과 같이 제가 원했던 이미지가 이미지뷰에 잘 들어가 있는 걸 확인할 수 있습니다.

 

좀 더 응용해본다면 저장해 둔 이미지를 가져오거나, 서버에서 받아온 이미지를 Glide를 통해 보여주는 것도 가능할 수 있지 않을까요?

이상으로 포스팅을 마치겠습니다.