-
[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 클래스 생성
12345678package com.example.whowant;import com.android.volley.RequestQueue;public class AppHelper {public static RequestQueue requestQueue;}cs 2. onCreate()에 다음을 추가합니다
123if (AppHelper.requestQueue == null) {AppHelper.requestQueue = Volley.newRequestQueue(getApplicationContext());}cs 3. 아래와 같은 메소드를 사용하도록 생성 혹은 주입
123456789101112131415161718192021222324252627282930313233343536373839public 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>() {@Overridepublic void onResponse(String response) {System.out.println("응답 -> " + response);}},//에러가 발생했을 때 호출될 리스너 객체new Response.ErrorListener() {@Overridepublic void onErrorResponse(VolleyError error) {System.out.println("에러 -> " + error.getMessage());}}) { //POST 방식으로 파라미터를 넣음 -> request 객체안에 메소드를 재정의@Overrideprotected Map<String, String> getParams() throws AuthFailureError {Map<String, String> params = new HashMap<String, String>();return params;}};//매번 받은 새로운 결과를 출력request.setShouldCache(false);AppHelper.requestQueue.add(request);println("요청 보냄");}cs 4. 실제 사용은 다음과 같이 할 수 있습니다.
123456789Button btnLogin = (Button) findViewById(R.id.btnLogin);btnLogin.setOnClickListener(new View.OnClickListener() {@Overridepublic 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