상세 컨텐츠

본문 제목

[안드로이드] HTTP 통신 Volley 사용법 part3 - Image 요청 및 응답

안드로이드

by aries574 2022. 5. 9. 12:12

본문


이번 시간에는 Volley 라이브러리를 이용해서 Image형태로 호출하고 응답받아서 이미지 뷰에 이미지를 보여주는 방법에 대하여 알아보겠습니다.


목차

1. 실행 화면

2. 권한 등록

3. 라이브러리 등록

4. 메인 화면 구성 activity_main.xml

5. 메인 코드 구현 MainActivity.java


1. 실행 화면

 

2. 권한 등록

AndroidManifest.xml

 manifest 태그 안에 추가

 <uses-permission android:name="android.permission.INTERNET" />

 application 태그안에 아래 코드 추가(Http 호출 허용)

android:usesCleartextTraffic="true"

 

3. 라이브러리 등록

build.gradle(Module:프로젝트명:app)

dependencies 괄호 안에 아래 코드를 넣어주시면 됩니다.

implementation 'com.android.volley:volley:1.2.1'

 

 

4. 메인 화면 구성 activity_main.xml

 - 설명 -

 1. 이미지뷰에는 응답받은 이미지를 보여줍니다.

 2. 버튼을 누르면 해당 url의 이미지를 가져옵니다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/image_view"
        android:layout_width="match_parent"
        android:layout_height="300dp" />

    <Button
        android:id="@+id/send_btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Send"
        android:textSize="20sp" />
</LinearLayout>

 

5. 메인 코드 구현 MainActivity.java

 - 설명 - 

 1. ImageRequest imageRequest = new ImageRequest

 Bitmap형태로 호출해서 Bitmap형태로 돌려받습니다.

 2. max_width , max_height, ImageView.ScaleType.CENTER

 이미지의 넓이, 높이, 이미지비율을 정해야 합니다. 

 3. imageView.setImageBitmap(response);

 ImageViewBitmap형태로 넣어줍니다.

public class MainActivity extends AppCompatActivity  {

    //선언
    RequestQueue queue;

    ImageView imageView;

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

        imageView = findViewById(R.id.image_view);

        Button sendBtn = findViewById(R.id.send_btn);

        //초기화
        if(queue == null){

            queue = Volley.newRequestQueue(this);
        }

        //이미지 경로
        String url = "https://cdn.pixabay.com/photo/2022/05/01/10/49/flower-7167287_960_720.jpg";

        //크기 설정
        int max_width = 500;
        int max_height = 500;

        //Image 호출 및 응답 받기
        ImageRequest imageRequest = new ImageRequest(url, new Response.Listener<Bitmap>() {
            @Override
            public void onResponse(Bitmap response) {
                
                imageView.setImageBitmap(response);
            }
        }, max_width, max_height, ImageView.ScaleType.CENTER, null,
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Toast.makeText(MainActivity.this, "error: " + error.toString()
                                , Toast.LENGTH_SHORT).show();
                    }
        });

        sendBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                queue.add(imageRequest);
            }
        });

    }//onCreate

}//MainActivity

2022.04.02 - [안드로이드] - [안드로이드] 같은 그림 찾기 게임 만드는 방법 part1 - 화면 구성

 

[안드로이드] 같은 그림 찾기 게임 만드는 방법 part1 - 화면구성

앞으로 같은 그림 찾기 게임을 만들어 보겠습니다. 이번 시간에는 화면 구성을 해보겠습니다. 이 게임은 8장의 카드가 있고, 2장의 카드를 뒤집어서 같은 그림이면 성공, 틀리면 맞을 때까지 하

aries574.tistory.com

2022.03.09 - [안드로이드] - [안드로이드] Firebase 시작하기 실시간 데이터베이스 Realtime Database (간단한 데이터 읽기, 쓰기) part1

 

[안드로이드] Firebase 시작하기 실시간 데이터베이스 Realtime Database (간단한 데이터 읽기, 쓰기) part

이번 시간에는 Firebase를 통해 데이터베이스에 간단한 데이터를 쓰고 읽는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 프로젝트 만들기 3. 앱 만들기 4. 데이터 베이스 만들기 5. 라이브러

aries574.tistory.com

2022.02.18 - [안드로이드] - [안드로이드] 사각형(Rectangle), 원형(Oval), 선(Line) 모양 쉽게 만드는 방법 - Drawable.xml

 

[안드로이드] 사각형(Rectangle), 원형(Oval), 선(Line) 모양 쉽게 만드는 방법 - Drawable.xml

이번 시간에는 사각형, 원형, 선 모양을 파일에 설정해놓고 갖다 쓰는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 사각형 파일 만들기 3. 원형 파일 만들기 4. 선 파일 만들기 5. 메인 화

aries574.tistory.com

 

 

반응형

관련글 더보기

댓글 영역