투케이2K

77. (AndroidStudio/android/java) Volley 라이브러리 사용해 POST 방식으로 요청 및 응답 값 확인 실시 - 쿼리 파람 본문

Android

77. (AndroidStudio/android/java) Volley 라이브러리 사용해 POST 방식으로 요청 및 응답 값 확인 실시 - 쿼리 파람

투케이2K 2021. 3. 3. 10:35

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : AndroidStudio

개발 언어 : java

/* =========================== */

/* =========================== */

[소스 코드]

 

//======== [build.gradle(Module:app)] ========
implementation 'com.android.volley:volley:1.1.0'



//======== [AndroidManifest.xml] ========
<uses-permission android:name="android.permission.INTERNET"/>
application 내부 : android:usesCleartextTraffic="true"



//======== [java 메소드 호출] ========
//TODO import com.android.volley.Response; 를 상속받아야 합니다
getRequestVolleyPOST("http://jsonplaceholder.typicode.com/posts");



//======== [java 메소드 정의] ========
public void getRequestVolleyPOST(final String url){
	//TODO 데이터 Request 객체 생성
	RequestQueue queue = Volley.newRequestQueue(this);

	//TODO 파라미터값 선언 실시
	Map<String, String> params = new HashMap<>(); //TODO {userId=1} 형태
	params.put("userId","1");
	params.put("id","1");

	//TODO 전송 Url 및 Data 파싱 실시
	String dataParse = "";
	String postUrl = "";
	dataParse = String.valueOf(params.toString());
	dataParse = dataParse.replaceAll("[{]","");
	dataParse = dataParse.replaceAll("[}]","");
	dataParse = dataParse.replaceAll("[,]","&");
	postUrl = url + "?" + dataParse;
	postUrl = postUrl.replaceAll(" ","");
	Log.d("---","---");
	Log.w("//===========//","================================================");
	Log.d("","\n"+"[A_Main > getRequestVolleyPOST() 메소드 : Volley POST 요청 실시]");
	Log.d("","\n"+"["+"요청 주소 - "+String.valueOf(url)+"]");
	Log.d("","\n"+"["+"전송 값 - "+String.valueOf(params)+"]");
	Log.d("","\n"+"["+"전송 형태 - "+String.valueOf(postUrl)+"]");
	Log.w("//===========//","================================================");
	Log.d("---","---");

	//TODO 데이터 Response 객체 생성
	StringRequest request = new StringRequest(Request.Method.POST, postUrl,
			//TODO 데이터 전송 요청 성공
			new Response.Listener<String>() {
				@Override
				public void onResponse(String response) {
					Log.d("---","---");
					Log.w("//===========//","================================================");
					Log.d("","\n"+"[A_Main > getRequestVolleyPOST() 메소드 : Volley POST 요청 응답]");
					Log.d("","\n"+"["+"응답 전체 - "+String.valueOf(response.toString())+"]");
					Log.w("//===========//","================================================");
					Log.d("---","---");
				}
			},
			//TODO 데이터 전송 요청 에러 발생
			new Response.ErrorListener() {
				@Override
				public void onErrorResponse(VolleyError error) {
					Log.d("---","---");
					Log.e("//===========//","================================================");
					Log.d("","\n"+"[A_Main > getRequestVolleyPOST() 메소드 : Volley POST 요청 실패]");
					Log.d("","\n"+"["+"에러 코드 - "+String.valueOf(error.toString())+"]");
					Log.e("//===========//","================================================");
					Log.d("---","---");
				}
			});
	request.setShouldCache(false);
	queue.add(request);
}

/* =========================== */

[결과 출력]

* =========================== */

반응형
Comments