상세 컨텐츠

본문 제목

[안드로이드 코틀린] HTTP 통신 Volley 사용법 part1 - 간단한 요청 및 응답

안드로이드

by aries574 2022. 9. 9. 13:18

본문


HTTP통신으로 데이터를 쉽게 가져올 수 있는 Volley 사용법을 알아보겠습니다. 

이번 시간에는 String형식의 값을  가져오는 방법을 알아보겠습니다. 


목차

1. 실행 화면
2. 권한 등록
3. 라이브러리 등록
4. 메인 화면 activity_main.xml
5. 메인 코드 MainActivity.kt


1. 실행 화면

 


2. 권한 등록

 AndroidManifest.xml

 manifest 태그 안에 추가

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

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

android:usesCleartextTraffic="true"


3. 라이브러리 등록

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

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

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

 

 

4. 메인 화면 activity_main.xml

- 설명 -

 1.  요청한 데이터 보여주는 TextView

 2.  HTTP 연결하는 Button

<?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"
    android:gravity="center"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/dataText"
        android:layout_width="match_parent"
        android:layout_height="400dp"
        android:textSize="20sp"/>

    <Button
        android:id="@+id/requestBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:text="요청"
        android:textSize="30sp"/>
</LinearLayout>

 

5. 메인 코드 MainActivity.kt

- 설명 -

 1. queue = Volley.newRequestQueue(this)

   Volley 초기화

 2. StringRequest = StringRequest(전송 타입, 주소, 응답 리스너, 에러 리스너)

   요청 셋팅

 3. queue?.add(stringRequest)

   요청 Volley에 추가

 4. 참조 사이트

https://developer.android.com/training/volley/simple?hl=ko 

 

간단한 요청 보내기  |  Android 개발자  |  Android Developers

간단한 요청 보내기 알림 이 페이지를 개발자 프로필에 저장하여 중요 업데이트에 대한 알림을 받으세요. 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 고

developer.android.com

class MainActivity : AppCompatActivity() {

    var queue: RequestQueue? = null
    lateinit var dataText: TextView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        //초기화
        if(queue == null){
            queue = Volley.newRequestQueue(this)
        }

        dataText = findViewById(R.id.dataText)
        val requestBtn: Button = findViewById(R.id.requestBtn)

        //버튼 클릭 이벤트
        requestBtn.setOnClickListener {
            //http 호출
            httpConnection()
        }
    }

    /**
     * HTTP 호출
     */
    private fun httpConnection(){

        //데이터 요청할 url 주소
        val url: String =  "https://api.bithumb.com/public/ticker"

        val stringRequest: StringRequest = StringRequest(Request.Method.GET, url,
            { response ->
                //api 호출해서 받아온 값: response
                dataText.text = "Response: $response"
            },
             { error ->
                //에러 발생시 실행
                dataText.text = "Error: $error"
            })

        //url 호출 등록
        queue?.add(stringRequest)
    }
}

2022.09.08 - [안드로이드] - [안드로이드 코틀린] 달력(DatePicekr) 코드에서 호출하는 방법

 

[안드로이드 코틀린] 달력(DatePicekr) 코드에서 호출하는 방법

이번 시간에는 달력(DatePicker)을 화면이 아니라 코드에서 호출하는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 activity_main.xml 3. 메인 코드 MainActivity.kt 1. 실행 화면 2. 메인..

aries574.tistory.com

2022.09.07 - [안드로이드] - [안드로이드 코틀린] 뒤로 가기 두 번 눌러 종료하는 방법

 

[안드로이드 코틀린] 뒤로 가기 두 번 눌러 종료하는 방법

이번 시간에는 뒤로 가기 버튼 두 번 눌러 앱 종료하는 방법을 알아보겠습니다. 한 번 누르면 한 번 더 누르라는 알림이 뜨고, 3초 안에 다시 눌러야 종료되는 방법입니다. 목차 1. 실행 화면 2. 

aries574.tistory.com

2022.09.06 - [안드로이드] - [안드로이드 코틀린] 애니메이션 적용해서 배터리 충전하는 방법

 

[안드로이드 코틀린] 애니메이션 적용해서 배터리 충전하는 방법

이번 시간에는 애니메이션(Animation)과 이미지를 이용해서 배터리 충전하는 모습을 보여주는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 애니메이션 battery_animation.xml 3. 메인 화면 activity_main.

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역