투케이2K

70. (AndroidStudio/android/java) AsyncHttpClient 라이브러리 (비동기 네트워크) POST 방식으로 요청 및 응답 값 확인 실시 - 쿼리 파람 본문

Android

70. (AndroidStudio/android/java) AsyncHttpClient 라이브러리 (비동기 네트워크) POST 방식으로 요청 및 응답 값 확인 실시 - 쿼리 파람

투케이2K 2021. 2. 27. 10:13
반응형

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

[ 개발 환경 설정 ]

개발 툴 : AndroidStudio

개발 언어 : java

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

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

[소스 코드]

 

//======== [build.gradle(Module:app)] ========
implementation 'com.loopj.android:android-async-http:1.4.9'



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



//======== [java 메소드 호출] ========
getRequestHttpPOST("http://jsonplaceholder.typicode.com/posts");



//======== [java 메소드 정의] ========
public void getRequestHttpPOST(String url) {
	try {
		//TODO ==== AsyncHttpClient 객체 정의 ====
		AsyncHttpClient client = new AsyncHttpClient();
		RequestParams params = new RequestParams(); //TODO userId=1 형태
		Map<String, Object> params = new HashMap<>(); //TODO {userId=1} 형태

		//TODO ==== 파라미터 전송값 정의 ====
		params.put("userId", "1");
		params.put("id", "1");

		Log.d("---","---");
		Log.w("//===========//","================================================");
		Log.d("","\n"+"[A_Http > getRequestHttpPOST() 메소드 : HTTP 통신 수행 POST 방식 요청 실시]");
		Log.d("","\n"+"["+"요청 주소 - "+String.valueOf(url)+"]");
		Log.d("","\n"+"["+"전송 값 - "+String.valueOf(params)+"]");
		Log.d("","\n"+"["+"전송 형태 - "+String.valueOf(url+"?"+params)+"]");
		Log.w("//===========//","================================================");
		Log.d("---","---");

		//TODO ==== [서버에 요청] ====
		//client.post(A_Http.this, url, params, new JsonHttpResponseHandler() { //TODO 첫번째 타입
		client.post(A_Http.this, url, params, new AsyncHttpResponseHandler() { //TODO 두번째 타입
			//TODO ==== [웹요청 시작] ====
			@Override
			public void onStart() {

			}
			//TODO ==== [웹요청 성공] ====
			@Override
			//public void onSuccess(int statusCode, Header[] headers, JSONObject json_data) { //TODO 첫번째 타입
			public void onSuccess(int statusCode, Header[] headers, byte[] response) { //TODO 두번째 타입
				//String responseData = String.valueOf(json_data.toString());
				String responseData = String.valueOf(new String(response));
				Log.d("---","---");
				Log.w("//===========//","================================================");
				Log.d("","\n"+"[A_Http > getRequestHttpPOST() 메소드 : HTTP 통신 수행 POST 방식 요청 확인]");
				Log.d("","\n"+"["+"응답 전체 - "+String.valueOf(responseData)+"]");
				Log.w("//===========//","================================================");
				Log.d("---","---");
			}
			//TODO ==== [웹요청 실패] ====
			@Override
			//public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) { //TODO 첫번째 타입
			public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable throwable) { //TODO 두번째 타입
				//String responseError = String.valueOf(responseString.toString());
				String responseError = String.valueOf(new String(errorResponse));
				Log.d("---","---");
				Log.e("//===========//","================================================");
				Log.d("","\n"+"[A_Http > getRequestHttpPOST() 메소드 : HTTP 통신 수행 POST 방식 요청 실패]");
				Log.d("","\n"+"["+"에러코드 - "+String.valueOf(statusCode + "/" + responseError +"]"));
				Log.e("//===========//","================================================");
				Log.d("---","---");

			}
		});
	}
	catch (Exception e){
		e.printStackTrace();
	}
}

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

[결과 출력]

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

반응형
Comments