투케이2K

71. (AndroidStudio/android/java) AsyncHttpClient 라이브러리 (비동기 네트워크) POST BODY JSON 방식으로 요청 및 응답 값 확인 본문

Android

71. (AndroidStudio/android/java) AsyncHttpClient 라이브러리 (비동기 네트워크) POST BODY JSON 방식으로 요청 및 응답 값 확인

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

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

[ 개발 환경 설정 ]

개발 툴 : 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_BODY_JSON("http://jsonplaceholder.typicode.com/posts");



//======== [java 메소드 정의] ========
public void getRequestHttpPOST_BODY_JSON(String url) {
	try {
		//TODO ==== AsyncHttpClient 객체 정의 ====
		AsyncHttpClient client = new AsyncHttpClient();
		JSONObject params = new JSONObject(); //TODO {"userId":1, "id":1} 형태

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

		//TODO ==== entity 객체 정의 ====
		StringEntity entity = new StringEntity(String.valueOf(params.toString()));

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

		//TODO ==== [서버에 요청] ====
		client.post(A_Http.this, url, entity, "application/json", new AsyncHttpResponseHandler() {
			//TODO ==== [웹요청 시작] ====
			@Override
			public void onStart() {

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

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

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

[결과 출력]

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

반응형
Comments