HTTP통신으로 데이터를 쉽게 가져올 수 있는 Volley 사용법을 알아보겠습니다.
이번 시간에는 String형식의 값을 가져오는 방법을 알아보겠습니다.
AndroidManifest.xml
manifest 태그 안에 추가
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
application 태그안에 아래 코드 추가(Http 호출 허용)
android:usesCleartextTraffic="true"
build.gradle(Module:프로젝트명:app)
dependencies 괄호 안에 아래 코드를 넣어주시면 됩니다.
implementation 'com.android.volley:volley:1.2.1'
- 설명 -
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>
- 설명 -
1. queue = Volley.newRequestQueue(this)
Volley 초기화
2. StringRequest = StringRequest(전송 타입, 주소, 응답 리스너, 에러 리스너)
요청 셋팅
3. queue?.add(stringRequest)
요청 Volley에 추가
4. 참조 사이트
https://developer.android.com/training/volley/simple?hl=ko
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) 코드에서 호출하는 방법
2022.09.07 - [안드로이드] - [안드로이드 코틀린] 뒤로 가기 두 번 눌러 종료하는 방법
2022.09.06 - [안드로이드] - [안드로이드 코틀린] 애니메이션 적용해서 배터리 충전하는 방법
[안드로이드 코틀린] 액티비티(Activity) 뒤로가기 버튼 만드는 방법 (1) | 2022.09.13 |
---|---|
[안드로이드 코틀린] HTTP 통신 Volley 사용법 part2 - JSON 요청 및 파싱 (0) | 2022.09.12 |
[안드로이드 코틀린] 달력(DatePicker) 코드에서 호출하는 방법 (0) | 2022.09.08 |
[안드로이드 코틀린] 뒤로 가기 두 번 눌러 종료하는 방법 (0) | 2022.09.07 |
[안드로이드 코틀린] 애니메이션 적용해서 배터리 충전하는 방법 (0) | 2022.09.06 |
댓글 영역