본문 바로가기
Android Studio

[Android Studio] 네트워크 통신을 위해 Volley 라이브러리 사용하기

by dong_su 2023. 12. 28.

 

<uses-permission android:name="android.permission.INTERNET" />

manifests 폴더 - AndroidManifest.xml - application 위쪽에 위 코드를 입력해준다.

 

Module :app 있는 build.gradle.kts 들어간 후에

 

implementation("com.android.volley:volley:1.2.1")

파일 맨 아래 dependencies안에 위 코드를 추가하면 된다.


사용 예시 코드

RequestQueue queue = Volley.newRequestQueue(MainActivity.this);

JsonArrayRequest request = new JsonArrayRequest(
        Request.Method.GET,
        "URL",
        null,
        new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray response) {
                progressBar.setVisibility(View.GONE);

                for (int i=0; i<response.length(); i++){
                    try {
                        JSONObject data = response.getJSONObject(i);

                        int userId = data.getInt("userId");
                        int id = data.getInt("id");
                        String title = data.getString("title");
                        String body = data.getString("body");

                        Post post = new Post(userId, id, title, body);
                        postArrayList.add(post);

                    } catch (JSONException e) {
                        Toast.makeText(MainActivity.this, "네트워크 파싱 에러입니다.", Toast.LENGTH_SHORT).show();
                        return;
                    }
                }

                // 화면에 표시
                adapter = new PostAdapter(MainActivity.this, postArrayList);
                recyclerView.setAdapter(adapter);
            }
        },
        new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                progressBar.setVisibility(View.GONE);
                return;
            }
        }
);

queue.add(request);