이번 시간에는 Volley 라이브러리를 이용해서 Image형태로 호출하고 응답받아서 이미지 뷰에 이미지를 보여주는 방법에 대하여 알아보겠습니다.
AndroidManifest.xml
manifest 태그 안에 추가
<uses-permission android:name="android.permission.INTERNET" />
application 태그안에 아래 코드 추가(Http 호출 허용)
android:usesCleartextTraffic="true"
build.gradle(Module:프로젝트명:app)
dependencies 괄호 안에 아래 코드를 넣어주시면 됩니다.
implementation 'com.android.volley:volley:1.2.1'
- 설명 -
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>
- 설명 -
1. ImageRequest imageRequest = new ImageRequest
Bitmap형태로 호출해서 Bitmap형태로 돌려받습니다.
2. max_width , max_height, ImageView.ScaleType.CENTER
이미지의 넓이, 높이, 이미지비율을 정해야 합니다.
3. imageView.setImageBitmap(response);
ImageView에 Bitmap형태로 넣어줍니다.
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
[안드로이드] ViewModel - 화면 회전 시 데이터 초기화 막는 방법 (0) | 2022.05.11 |
---|---|
[안드로이드] DataBinding 컴포넌트 쉽게 접근하는 방법 (0) | 2022.05.10 |
[안드로이드] HTTP 통신 Volley 사용법 part2 - JSON 요청 및 파싱 (0) | 2022.05.08 |
[안드로이드] HTTP 통신 Volley 사용법 part1 - 간단한 요청 및 응답 (0) | 2022.05.07 |
[안드로이드] BarChart 만드는 방법 part2 - 멀티 데이터 구현 (0) | 2022.05.06 |
댓글 영역