ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Android] POST 전송 예시 코드
    프론트엔드/Android 2020. 12. 30. 23:26


    [Android] Post 통신 소스코드


    AppHelper : RequestQueue를 정적인 변수로 선언하는 AppHelper 클래스

    onCreate() 에 추가 : Activity단에서 RequestQueue의 객체를 생성하여 주입시켜주는 메소드

    sendRequest() : 마지막으로 통신에 참여하는 메소스입니다



    순서

    1. AppHelper 클래스를 생성합니다.

    2. onCreate()에 다음을 추가합니다

    3. 아래와 같은 메소드를 사용하도록 생성 혹은 주입을 합니다

    4. 실제 사용은 다음과 같습니다



    소스코드

    1. AppHelper 클래스 생성

    1
    2
    3
    4
    5
    6
    7
    8
    package com.example.whowant;
     
    import com.android.volley.RequestQueue;
     
    public class AppHelper {
        public static RequestQueue requestQueue;
    }
     
    cs



    2. onCreate()에 다음을 추가합니다

    1
    2
    3
    if (AppHelper.requestQueue == null) {
        AppHelper.requestQueue = Volley.newRequestQueue(getApplicationContext());
    }
    cs



    3. 아래와 같은 메소드를 사용하도록 생성 혹은 주입

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    public void sendRequest() {
            println("SEND REQUEST");
     
            String url = "http://ialab.cafe24.com";
            StringRequest request = new StringRequest(
                    //요청방식 지정
                    Request.Method.GET,
                    //웹서버의 url 정보를 전달
                    url,
                    //응답을 성공적으로 받았을 때 이 리스너의 onResponse 메소드를 자동으로 호출해주는 리스너 객체
                    new Response.Listener<String>() {
                        @Override
                        public void onResponse(String response) {
                            System.out.println("응답 -> " + response);
                        }
                    },
                    //에러가 발생했을 때 호출될 리스너 객체
                    new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {
                            System.out.println("에러 -> " + error.getMessage());
                        }
                    }
            ) { //POST 방식으로 파라미터를 넣음 -> request 객체안에 메소드를 재정의
     
     
                @Override
                protected Map<StringString> getParams() throws AuthFailureError {
                    Map<StringString> params = new HashMap<StringString>();
     
                    return params;
                }
            };
     
            //매번 받은 새로운 결과를 출력
            request.setShouldCache(false);
            AppHelper.requestQueue.add(request);
            println("요청 보냄");
        }
    cs





    4. 실제 사용은 다음과 같이 할 수 있습니다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
            Button btnLogin = (Button) findViewById(R.id.btnLogin);
            btnLogin.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Toast.makeText(ActivityLogin.this"login Clicked", Toast.LENGTH_SHORT).show();
                    //AuthLogin();
                    sendRequest();
                }
            });
    cs





    ※ 본 글은 개인 포트폴리오 혹은 공부용으로 사용하기 때문에, 무단 복사 유포는 금지하지만, 개인 공부 용도로는 얼마든지 사용하셔도 좋습니다



    반응형

    '프론트엔드 > Android' 카테고리의 다른 글

    [안드로이드] Android 9.0: Google Map, Volley 오류  (0) 2019.09.18
Designed by Tistory.