이번 시간에는 HTTP통신을 쉽게 도와주는 Volley 라이브러리를 이용해서 API 호출, 데이터를 가져오는 방법에 대하여 알아보겠습니다.
AndroidManifest.xml
manifest 태그 안에 추가
<uses-permission android:name="android.permission.INTERNET" />
build.gradle(Module:프로젝트명:app)
dependencies 괄호 안에 아래 코드를 넣어주시면 됩니다.
implementation 'com.android.volley:volley:1.2.1'
application 태그안에 아래 코드 추가(Http 호출 허용)
android:usesCleartextTraffic="true"
2020.12.19 - [안드로이드] - [안드로이드]라이브러리 찾아 등록하는 방법
- 설명 -
1. api 호출해서 전달받은 데이터를 텍스트뷰에 보여줍니다.
2. 버튼을 클릭해서 api 호출을 합니다.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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">
<TextView
android:layout_width="match_parent"
android:layout_height="400dp"
android:textSize="15sp"
android:id="@+id/textView"/>
<Button
android:id="@+id/send_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Send"
android:textSize="20sp"
android:layout_alignParentBottom="true"
android:layout_marginBottom="30dp"/>
</RelativeLayout>
- 설명 -
1. RequestQueue 객체를 생성합니다.
2. RequestQueue 객체가 null이면 초기화를 해줍니다.
3. new StringRequest를 통해 HTTP통신을 합니다.
4. onResponse메서드를 통해 응답받은 데이터를 확인할 수 있습니다.
5. onErrorResponse메서드를 통해 오류를 확인할 수 있습니다.
6. RequestQueue 객체에 StringRequest 객체를 추가합니다.
public class MainActivity extends AppCompatActivity {
//선언
RequestQueue queue;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
Button sendBtn = findViewById(R.id.send_btn);
//초기화
if(queue == null){
queue = Volley.newRequestQueue(this);
}
String url = "https://api.bithumb.com/public/ticker/ETC_KR";
//API 호출
StringRequest stringRequest = new StringRequest(Request.Method.GET,
url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
//응답
textView.setText(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//에러
textView.setText("에러: " + error.toString());
}
});
//버튼 이벤트
sendBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
queue.add(stringRequest);
}
});
}//onCreate
}//MainActivity
2022.04.19 - [안드로이드] - [안드로이드] 커스텀 달력 만드는 방법 part1 화면 구성
2022.04.02 - [안드로이드] - [안드로이드] 같은 그림 찾기 게임 만드는 방법 part1 - 화면 구성
2022.03.28 - [안드로이드] - [안드로이드] 숫자 맞추기 게임 Up&Down 만드는 방법 part1 - 화면 구성
[안드로이드] HTTP 통신 Volley 사용법 part3 - Image 요청 및 응답 (0) | 2022.05.09 |
---|---|
[안드로이드] HTTP 통신 Volley 사용법 part2 - JSON 요청 및 파싱 (0) | 2022.05.08 |
[안드로이드] BarChart 만드는 방법 part2 - 멀티 데이터 구현 (0) | 2022.05.06 |
[안드로이드] BarChart 만드는 방법 part1 - 기본 구현 (0) | 2022.05.05 |
[안드로이드] LineChart 만드는 방법 part6 - 차트 X축 Y축 데이터 포맷 (0) | 2022.05.04 |
댓글 영역