Volley라는 라이브러리는 안드로이드로 서버와 통신함에 있어서 좀 더 빠르고, 효율적으로 코딩을 할 수 있게끔 도와주는 라이브러리입니다. (더 좋은 라이브러리도 있으니 찾아보시고, 보편적으로 사용되는 겁니다. 쓰기도 쉽구요)

먼저 처음에 Gradle에서 implement를 해야겠죠?

implementation 'com.android.volley:volley:1.1.0'

Gradle에 그대로 넣어주시면 됩니다.

다음으로 이제 본격적으로 사용하시면 되는데요.

 

사용하기전에 Queue, port, host는 미리 정의해 주시는게 사용하기 편리합니다.

대표적으로 GET방식과 POST방식에 이 있는데요.


GET 방식

이 방식은 우리가 서버로부터 어떤 데이터를 전달받고 싶을 때 사용합니다.

StringRequest를 사용하는데요. 괄호 안에다가 parameter를 총 4개를 입력해주게 됩니다.

  1. 방식(GET이냐, POST냐)
  2. url
  3. 서버 응답시 처리할 내용.
  4. 에러 시 처리할 내용

그리고 마지막으로

이미 사용한 것은 제거해주는 식으로 캐시를 관리해야 하니, setShouldCache(false);를 해주고,

마지막으로 큐에 add(Stringrequest)를 해주어 처리를 하게 됩니다.


POST방식

이 방식은 우리가 어떤 데이터를 서버에 보낼 때 사용하게 됩니다.

형식은 GET방식과 대부분 비슷하지만, getParams라는 override method가 추가됩니다.

끝에 getParams()라는 메소드가 추가되었죠? 이 부분이 서버가 요청하는 파라미터를 담는 부분입니다.

예를 들어, 서버가 id와 password를 요청한다면, 

Map<String, String> params = new HashMap<>();

paramas.put("id", "~");

params.put("password", "~");

해주고 return params를 하면 되겠죠?

 

여기까지 Volley에서 GET, POST방식의 이용법이었습니다. 사용하실 때 에러가 난다면,

기본적으로 

  1. 와이파이 등을 확인해서 서버연결을 할 준비가 되었는지 확인하세요.
  2. 서버가 요구하는 파라미터와 내가 코딩한 파라미터에 문제가 없는지 확인하세요.

 

Reference

edwith, 안드로이드 부스트코스 과정