본문 바로가기
Android Studio

[Android Studio] 안드로이드 네트워크 통신 Volley 라이브러리 사용하기

by coding_su 2023. 2. 3.

📝안드로이드 네트워크 통신 발리 라이브러리 사용하기

※ 공식홈페이지 확인(https://developer.android.com/training/volley)

 

우선 라이브러리를 사용하기위해 임포트 해준다

build.gradle파일의 dependencies에 아래 코드 입력 (공식 홈페이지에서 깃허브에 있는 버전 확인해서 사용하기)

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

 

실행할 액티비티로 돌아와 아래 코드처럼 입력해 사용해준다

// Volley로 네트워크 통신
RequestQueue queue = Volley.newRequestQueue(MainActivity.this);
// 요청해서 받아오는 정보가 제이슨객체{}이므로 JsonObjectRequest로 받아온다
// [] 이면 JsonArrayRequest로 받아온다
JsonObjectRequest request = new JsonObjectRequest(
        // 가져올 방식
        Request.Method.GET,
        // URL은 많이 사용하니 상수처리해서 사용한다
        URL + "/posts/1",
        // 보낼 데이터가 없으니 널
        null,
        // 성공했을때 받아온 데이터 처리하기
        new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                Log.i("NETWORK_APP", response.toString());
                // response에 데이터가 있으니 이 데이터를 Parsing 한다
                try {
                    int userId = response.getInt("userId");
                    int id = response.getInt("id");
                    String title = response.getString("title");
                    String body = response.getString("body");

                    // 문제가 없다면 화면에 셋팅
                    // 화면 셋팅을 try 밖에서 할 경우 변수처리도 try 밖에서 해야한다
                    txtUserId.setText(userId+"");
                    txtId.setText(id+"");
                    txtTitle.setText(title);
                    txtBody.setText(body);

                } catch (JSONException e) {
                    e.printStackTrace();
                    Toast.makeText(MainActivity.this,"파싱에러",Toast.LENGTH_SHORT).show();
                    return;
                }
            }
        },
        // 에러났을때 처리
        new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
            }
        }
);
// 이 코드가 있어야 네트워크를 실행한다
queue.add(request);

댓글