안드로이드에서 Volley를 활용한 통신

spring

안드로이드에서 외부 DB

안드로이드는 기본적으로 외부DB와 직접 연결할 수 없다.
나는 차장님 서버에 데이터를 담아놨는데 이걸 이용하기 위해선
중간에 매개체 역할이 필요하다.
나는 RESTController를 활용하여 나의 AWS서버에 서비스하여 안드로이드에서 AWS 서버로 요청을
보낼것이고 AWS서버에서는 차장님서버에 요청을하여 DB내용을 가져올 것이다.
따라서 그림은 없지만 글로설명하자만

안드로이드(클라이언트) ------> AWS서버(API서버) ---------> 차장님 서버(DB서버) 
    
이런식으로 데이터가 왔다갔다 할 것이다.

Volley 다운받기

gradle에 다음 내용을 추가한다.
compile group: 'com.android.volley', name: 'volley', version: '1.0.0'

기본적인 Volley 사용법

public void sendRequest(){
        // Request를 보낼 queue를 생성한다. 필요시엔 전역으로 생성해 사용하면 된다.
        RequestQueue queue = Volley.newRequestQueue(this);
        String url ="http://172.30.1.27:8081/busApi.do";

        // StringRequest를 보낸다.
        StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        // Display the first 500 characters of the response string.
                        text.setText("Response is: "+ response);
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                text.setText("That didn't work!");
            }
        });
        // RequestQueue에 현재 Task를 추가해준다.
        queue.add(stringRequest);
    }
    
 위 메소드는 url에 적혀있는 곳으로 GET방식으로 요청을 할 것이고 성공했을때는 onResponse 메서드를
 실행하고, 실패시 onErrorResponse를 실행한다.
 Ajax로 통신하는것과 비슷하다.
 Volley외에도 통신을 도와주는 라이브러리는 많지만 Volley가 편하다고 한다.
효준's profile image

효준

2018-09-10 10:07

다른글 보러가기

안드로이드에서 네트워크 접속 방법 & 권한주기

이전 포스트

안드로이드에서 Custom ListView(커스텀 리스트뷰) 활용하기

다음 포스트