투케이2K

157. (AndroidStudio/android/java) ok http 라이브러리 사용해 get , post 데이터 요청 및 응답 확인 실시 본문

Android

157. (AndroidStudio/android/java) ok http 라이브러리 사용해 get , post 데이터 요청 및 응답 확인 실시

투케이2K 2021. 5. 19. 13:58

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

[ 개발 환경 설정 ]

개발 툴 : AndroidStudio

개발 언어 : java

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

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

[소스 코드]

/** ========= [필요한 퍼미션 및 라이브러리] ========= **/
//TODO [퍼미션]
/**
  * <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  * <uses-permission android:name="android.permission.INTERNET"/>
  * */

//TODO [라이브러리]
/**
  * allprojects > repositories > mavenCentral() 추가
  * implementation("com.squareup.okhttp3:okhttp:4.9.0")
  * */









/** ========= [GET 방식 HTTP 요청 메소드] ========= **/
    public void requestGetHttp(final String url){
        try {
            //TODO [파라미터값 선언 실시]
            Map params = new HashMap (); 
            params.put("userId",1);
            params.put("id",1);

            //TODO [전송 Url 및 Data 파싱 실시]
            String dataParse = "";
            String getUrl = "";
            dataParse = String.valueOf(params.toString());
            dataParse = dataParse.replaceAll("[{]","");
            dataParse = dataParse.replaceAll("[}]","");
            dataParse = dataParse.replaceAll("[,]","&");
            dataParse = dataParse.replaceAll(" ","");
            final String dataParseFinal = dataParse;

            //TODO [전송 형태 url + data 주소 매핑]
            getUrl = url + "?" + dataParse;
            getUrl = getUrl.replaceAll(" ","");

            //TODO [OK HTTP 객체 선언 실시]
            OkHttpClient client = new OkHttpClient();
            Request request = new Request.Builder()
                    //.addHeader("x-api-key", RestTestCommon.API_KEY) //TODO [헤더]
                    .url(getUrl) //TODO [주소]
                    .build();

            Log.d("---","---");
            Log.d("//===========//","================================================");
            Log.d("","\n"+"[A_OkHttp > requestGetHttp() 메소드 : OK HTTP GET 요청 실시]");
            Log.d("","\n"+"["+"요청 주소 : " + String.valueOf(url)+"]");
            Log.d("","\n"+"["+"전송 값 : " + String.valueOf(dataParse)+"]");
            Log.d("","\n"+"["+"전송 형태 : " + String.valueOf(getUrl)+"]");
            Log.d("//===========//","================================================");
            Log.d("---","---");

            //TODO [비동기 처리 (enqueue 사용)]
            client.newCall(request).enqueue(new Callback() {
                //TODO [성공한 경우]
                @Override
                public void onResponse(Call call, Response response) throws IOException {
                    final String responseCode = String.valueOf(response.toString());
                    final String responseData = response.body().string();
                    runOnUiThread(new Runnable() {
                        public void run() {
                            Log.d("---","---");
                            Log.w("//===========//","================================================");
                            Log.d("","\n"+"[A_OkHttp > requestGetHttp() 메소드 : OK HTTP GET 요청 성공]");
                            Log.d("","\n"+"["+"응답 코드 : " + String.valueOf(responseCode)+"]");
                            Log.d("","\n"+"["+"응답 값 : " + String.valueOf(responseData)+"]");
                            Log.w("//===========//","================================================");
                            Log.d("---","---");
                            //TODO [Alert 팝업창 알림 실시]
                            getAlertDialog("[GET 알림]",
                                    "요청 주소 : "+ url + "\n" + "\n" +
                                            "요청 값 : "+ dataParseFinal + "\n" + "\n" +
                                            "응답 값 : "+ responseData + "\n",
                                    "확인", "취소", "");

                        }
                    });
                }
                //TODO [실패한 경우]
                @Override
                public void onFailure(Call call, IOException e) {
                    final String responseCode = String.valueOf(e.toString());
                    final String responseData = String.valueOf(e.getMessage());
                    runOnUiThread(new Runnable() {
                        public void run() {
                            Log.d("---","---");
                            Log.e("//===========//","================================================");
                            Log.d("","\n"+"[A_OkHttp > requestGetHttp() 메소드 : OK HTTP GET 요청 실패]");
                            Log.d("","\n"+"["+"에러 코드 : " + String.valueOf(responseCode)+"]");
                            Log.d("","\n"+"["+"에러 값 : " + String.valueOf(responseData)+"]");
                            Log.e("//===========//","================================================");
                            Log.d("---","---");
                            //TODO [Alert 팝업창 알림 실시]
                            getAlertDialog("[GET 알림]",
                                    "요청 주소 : "+ url + "\n" + "\n" +
                                            "요청 값 : "+ dataParseFinal + "\n" + "\n" +
                                            "에러 값 : "+ responseData + "\n",
                                    "확인", "취소", "");
                        }
                    });
                }
            });
        } catch (final Exception e){
            runOnUiThread(new Runnable() {
                public void run() {
                    Log.d("---","---");
                    Log.e("//===========//","================================================");
                    Log.d("","\n"+"[A_OkHttp > requestGetHttp() 메소드 : OK HTTP GET 요청 실패 - CATCH]");
                    Log.d("","\n"+"["+"에러 값 : " + String.valueOf(e.getMessage())+"]");
                    Log.e("//===========//","================================================");
                    Log.d("---","---");
                    //TODO [Alert 팝업창 알림 실시]
                    getAlertDialog("[GET 알림]",
                            "[CATCH EXCEPTION]" + "\n" + "\n" +
                                    "에러 값 : "+ String.valueOf(e.getMessage()) + "\n",
                            "확인", "취소", "");
                }
            });
            e.printStackTrace();
        }
    }









/** ========= [POST 방식 HTTP 요청 메소드] ========= **/
    public void requestPostHttp(final String url){
        try {
            //TODO [파라미터값 선언 실시]
            Map params = new HashMap (); 
            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("[,]","&");
            dataParse = dataParse.replaceAll(" ","");
            final String dataParseFinal = dataParse;

            //TODO [전송 형태 url + data 주소 매핑]
            postUrl = url + "?" + dataParse;
            postUrl = postUrl.replaceAll(" ","");

            //TODO [OK HTTP 객체 선언 실시]
            OkHttpClient client = new OkHttpClient();
            Request request = new Request.Builder()
                    //.addHeader("x-api-key", RestTestCommon.API_KEY) //TODO [헤더]
                    .url(postUrl) //TODO [주소]
                    .post(RequestBody.create("", MediaType.parse("application/json")))
                    .build();

            Log.d("---","---");
            Log.d("//===========//","================================================");
            Log.d("","\n"+"[A_OkHttp > requestPostHttp() 메소드 : OK HTTP POST 요청 실시]");
            Log.d("","\n"+"["+"요청 주소 : " + String.valueOf(url)+"]");
            Log.d("","\n"+"["+"전송 값 : " + String.valueOf(dataParse)+"]");
            Log.d("","\n"+"["+"전송 형태 : " + String.valueOf(postUrl)+"]");
            Log.d("//===========//","================================================");
            Log.d("---","---");

            //TODO [비동기 처리 (enqueue 사용)]
            client.newCall(request).enqueue(new Callback() {
                //TODO [성공한 경우]
                @Override
                public void onResponse(Call call, Response response) throws IOException {
                    final String responseCode = String.valueOf(response.toString());
                    final String responseData = response.body().string();
                    runOnUiThread(new Runnable() {
                        public void run() {
                            Log.d("---","---");
                            Log.w("//===========//","================================================");
                            Log.d("","\n"+"[A_OkHttp > requestPostHttp() 메소드 : OK HTTP POST 요청 성공]");
                            Log.d("","\n"+"["+"응답 코드 : " + String.valueOf(responseCode)+"]");
                            Log.d("","\n"+"["+"응답 값 : " + String.valueOf(responseData)+"]");
                            Log.w("//===========//","================================================");
                            Log.d("---","---");
                            //TODO [Alert 팝업창 알림 실시]
                            getAlertDialog("[POST 알림]",
                                    "요청 주소 : "+ url + "\n" + "\n" +
                                            "요청 값 : "+ dataParseFinal + "\n" + "\n" +
                                            "응답 값 : "+ responseData + "\n",
                                    "확인", "취소", "");
                        }
                    });
                }
                //TODO [실패한 경우]
                @Override
                public void onFailure(Call call, IOException e) {
                    final String responseCode = String.valueOf(e.toString());
                    final String responseData = String.valueOf(e.getMessage());
                    runOnUiThread(new Runnable() {
                        public void run() {
                            Log.d("---","---");
                            Log.e("//===========//","================================================");
                            Log.d("","\n"+"[A_OkHttp > requestPostHttp() 메소드 : OK HTTP POST 요청 실패]");
                            Log.d("","\n"+"["+"에러 코드 : " + String.valueOf(responseCode)+"]");
                            Log.d("","\n"+"["+"에러 값 : " + String.valueOf(responseData)+"]");
                            Log.e("//===========//","================================================");
                            Log.d("---","---");
                            //TODO [Alert 팝업창 알림 실시]
                            getAlertDialog("[POST 알림]",
                                    "요청 주소 : "+ url + "\n" + "\n" +
                                            "요청 값 : "+ dataParseFinal + "\n" + "\n" +
                                            "에러 값 : "+ responseData + "\n",
                                    "확인", "취소", "");
                        }
                    });
                }
            });
        } catch (final Exception e){
            runOnUiThread(new Runnable() {
                public void run() {
                    Log.d("---","---");
                    Log.e("//===========//","================================================");
                    Log.d("","\n"+"[A_OkHttp > requestPostHttp() 메소드 : OK HTTP POST 요청 실패 - CATCH]");
                    Log.d("","\n"+"["+"에러 값 : " + String.valueOf(e.getMessage())+"]");
                    Log.e("//===========//","================================================");
                    Log.d("---","---");
                    //TODO [Alert 팝업창 알림 실시]
                    getAlertDialog("[POST 알림]",
                            "[CATCH EXCEPTION]" + "\n" + "\n" +
                                    "에러 값 : "+ String.valueOf(e.getMessage()) + "\n",
                            "확인", "취소", "");
                }
            });
            e.printStackTrace();
        }
    }









/** ========= [POST BODY JSON 방식 HTTP 요청 메소드] ========= **/
    public void requestPostBodyJsonHttp(final String url){
        try {
            //TODO [파라미터값 선언 실시]
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("userId", "1");
            jsonObject.put("id", "1");
            final String dataParseFinal = jsonObject.toString();

            //TODO [전송 Url 매핑]
            String postUrl = String.valueOf(url);
            postUrl = postUrl.replaceAll(" ","");

            //TODO [OK HTTP 객체 선언 실시]
            OkHttpClient client = new OkHttpClient();
            Request request = new Request.Builder()
                    //.addHeader("x-api-key", RestTestCommon.API_KEY) //TODO [헤더]
                    .url(postUrl) //TODO [주소]
                    .post(RequestBody.create(jsonObject.toString(), MediaType.parse("application/json")))
                    .build();

            Log.d("---","---");
            Log.d("//===========//","================================================");
            Log.d("","\n"+"[A_OkHttp > requestPostBodyJsonHttp() 메소드 : OK HTTP POST BODY JSON 요청 실시]");
            Log.d("","\n"+"["+"요청 주소 : " + String.valueOf(url)+"]");
            Log.d("","\n"+"["+"전송 값 : " + String.valueOf(jsonObject.toString())+"]");
            Log.d("","\n"+"["+"전송 형태 : " + String.valueOf(postUrl)+"]");
            Log.d("//===========//","================================================");
            Log.d("---","---");

            //TODO [비동기 처리 (enqueue 사용)]
            client.newCall(request).enqueue(new Callback() {
                //TODO [성공한 경우]
                @Override
                public void onResponse(Call call, Response response) throws IOException {
                    final String responseCode = String.valueOf(response.toString());
                    final String responseData = response.body().string();
                    runOnUiThread(new Runnable() {
                        public void run() {
                            Log.d("---","---");
                            Log.w("//===========//","================================================");
                            Log.d("","\n"+"[A_OkHttp > requestPostBodyJsonHttp() 메소드 : OK HTTP POST BODY JSON 요청 성공]");
                            Log.d("","\n"+"["+"응답 코드 : " + String.valueOf(responseCode)+"]");
                            Log.d("","\n"+"["+"응답 값 : " + String.valueOf(responseData)+"]");
                            Log.w("//===========//","================================================");
                            Log.d("---","---");
                            //TODO [Alert 팝업창 알림 실시]
                            getAlertDialog("[POST BODY JSON 알림]",
                                    "요청 주소 : "+ url + "\n" + "\n" +
                                            "요청 값 : "+ dataParseFinal + "\n" + "\n" +
                                            "응답 값 : "+ responseData + "\n",
                                    "확인", "취소", "");
                        }
                    });
                }
                //TODO [실패한 경우]
                @Override
                public void onFailure(Call call, IOException e) {
                    final String responseCode = String.valueOf(e.toString());
                    final String responseData = String.valueOf(e.getMessage());
                    runOnUiThread(new Runnable() {
                        public void run() {
                            Log.d("---","---");
                            Log.e("//===========//","================================================");
                            Log.d("","\n"+"[A_OkHttp > requestPostBodyJsonHttp() 메소드 : OK HTTP POST BODY JSON 요청 실패]");
                            Log.d("","\n"+"["+"에러 코드 : " + String.valueOf(responseCode)+"]");
                            Log.d("","\n"+"["+"에러 값 : " + String.valueOf(responseData)+"]");
                            Log.e("//===========//","================================================");
                            Log.d("---","---");
                            //TODO [Alert 팝업창 알림 실시]
                            getAlertDialog("[POST BODY JSON 알림]",
                                    "요청 주소 : "+ url + "\n" + "\n" +
                                            "요청 값 : "+ dataParseFinal + "\n" + "\n" +
                                            "에러 값 : "+ responseData + "\n",
                                    "확인", "취소", "");
                        }
                    });
                }
            });
        } catch (final Exception e){
            runOnUiThread(new Runnable() {
                public void run() {
                    Log.d("---","---");
                    Log.e("//===========//","================================================");
                    Log.d("","\n"+"[A_OkHttp > requestPostBodyJsonHttp() 메소드 : OK HTTP POST BODY JSON 요청 실패 - CATCH]");
                    Log.d("","\n"+"["+"에러 값 : " + String.valueOf(e.getMessage())+"]");
                    Log.e("//===========//","================================================");
                    Log.d("---","---");
                    //TODO [Alert 팝업창 알림 실시]
                    getAlertDialog("[POST BODY JSON 알림]",
                            "[CATCH EXCEPTION]" + "\n" + "\n" +
                                    "에러 값 : "+ String.valueOf(e.getMessage()) + "\n",
                            "확인", "취소", "");
                }
            });
            e.printStackTrace();
        }
    }









/** ========= [POST 방식 HTTP 사진 등록 요청 메소드] ========= **/
    public void requestPostImageHttp(final String url){
        try {
            //TODO [전송 Url 매핑]
            String postUrl = String.valueOf(url);
            postUrl = postUrl.replaceAll(" ","");

            //TODO [파라미터값 선언 실시]
            /**
             * [File 전송 경로]
             * 절대 경로 : /storage/emulated/0/Pictures/.pending-1621927497-PT20210518162457.JPG
             * */
            String fileRoot = String.valueOf(S_Preference.getString(getApplication(), "saveImageScopeAbsolute"));
            RequestBody requestData = new MultipartBody.Builder()
                    .setType(MultipartBody.FORM)
                    .addFormDataPart("name", "twok")
                    .addFormDataPart("file", "", RequestBody.create(new File(fileRoot), MultipartBody.FORM))
                    .build();
            final String requestParameter = "name="+"twok"+"&"
                                    +"file="+String.valueOf(S_Preference.getString(getApplication(), "saveImageScopeAbsolute"));

            //TODO [OK HTTP 객체 선언 실시]
            OkHttpClient client = new OkHttpClient();
            Request request = new Request.Builder()
                    //.addHeader("x-api-key", RestTestCommon.API_KEY) //TODO [헤더]
                    .url(postUrl) //TODO [주소]
                    .post(requestData)
                    .build();

            Log.d("---","---");
            Log.d("//===========//","================================================");
            Log.d("","\n"+"[A_OkHttp > requestPostImageHttp() 메소드 : OK HTTP POST 사진 등록 요청 실시]");
            Log.d("","\n"+"["+"요청 주소 : " + String.valueOf(url)+"]");
            Log.d("","\n"+"["+"전송 타입 : " + String.valueOf(requestData.contentType())+"]");
            Log.d("","\n"+"["+"전송 값 : " + String.valueOf(requestParameter)+"]");
            Log.d("//===========//","================================================");
            Log.d("---","---");

            //TODO [비동기 처리 (enqueue 사용)]
            client.newCall(request).enqueue(new Callback() {
                //TODO [성공한 경우]
                @Override
                public void onResponse(Call call, Response response) throws IOException {
                    final String responseCode = String.valueOf(response.toString());
                    final String responseData = response.body().string();
                    runOnUiThread(new Runnable() {
                        public void run() {
                            Log.d("---","---");
                            Log.w("//===========//","================================================");
                            Log.d("","\n"+"[A_OkHttp > requestPostImageHttp() 메소드 : OK HTTP POST 사진 등록 요청 성공]");
                            Log.d("","\n"+"["+"응답 코드 : " + String.valueOf(responseCode)+"]");
                            Log.d("","\n"+"["+"응답 값 : " + String.valueOf(responseData)+"]");
                            Log.w("//===========//","================================================");
                            Log.d("---","---");
                            //TODO [Alert 팝업창 알림 실시]
                            getAlertDialog("[POST IMAGE 알림]",
                                    "요청 주소 : "+ url + "\n" + "\n" +
                                            "요청 값 : "+ requestParameter + "\n" + "\n" +
                                            "응답 값 : "+ responseData + "\n",
                                    "확인", "취소", "");
                        }
                    });
                }
                //TODO [실패한 경우]
                @Override
                public void onFailure(Call call, IOException e) {
                    final String responseCode = String.valueOf(e.toString());
                    final String responseData = String.valueOf(e.getMessage());
                    runOnUiThread(new Runnable() {
                        public void run() {
                            Log.d("---","---");
                            Log.e("//===========//","================================================");
                            Log.d("","\n"+"[A_OkHttp > requestPostImageHttp() 메소드 : OK HTTP POST 사진 등록 요청 실패]");
                            Log.d("","\n"+"["+"에러 코드 : " + String.valueOf(responseCode)+"]");
                            Log.d("","\n"+"["+"에러 값 : " + String.valueOf(responseData)+"]");
                            Log.e("//===========//","================================================");
                            Log.d("---","---");
                            //TODO [Alert 팝업창 알림 실시]
                            getAlertDialog("[POST IMAGE 알림]",
                                    "요청 주소 : "+ url + "\n" + "\n" +
                                            "요청 값 : "+ requestParameter + "\n" + "\n" +
                                            "에러 값 : "+ responseData + "\n",
                                    "확인", "취소", "");
                        }
                    });
                }
            });
        } catch (final Exception e){
            runOnUiThread(new Runnable() {
                public void run() {
                    Log.d("---","---");
                    Log.e("//===========//","================================================");
                    Log.d("","\n"+"[A_OkHttp > requestPostImageHttp() 메소드 : OK HTTP POST 사진 등록 요청 실패 - CATCH]");
                    Log.d("","\n"+"["+"에러 값 : " + String.valueOf(e.getMessage())+"]");
                    Log.e("//===========//","================================================");
                    Log.d("---","---");
                    //TODO [Alert 팝업창 알림 실시]
                    getAlertDialog("[POST IMAGE 알림]",
                            "[CATCH EXCEPTION]" + "\n" + "\n" +
                                    "에러 값 : "+ String.valueOf(e.getMessage()) + "\n",
                            "확인", "취소", "");
                }
            });
            e.printStackTrace();
        }
    }









/** ========= [GET 방식 HTTP 사진 다운로드 메소드] ========= **/
    public void requestGetImageDownHttp(final String url){
        try {
            //TODO [전송 Url 매핑]
            String getUrl = String.valueOf(url);
            getUrl = getUrl.replaceAll(" ","");

            //TODO [파라미터값 선언 실시]
            final String dataParseFinal = "";

            //TODO [OK HTTP 객체 선언 실시]
            OkHttpClient client = new OkHttpClient();
            Request request = new Request.Builder()
                    //.addHeader("x-api-key", RestTestCommon.API_KEY) //TODO [헤더]
                    .url(getUrl) //TODO [주소]
                    .build();

            Log.d("---","---");
            Log.d("//===========//","================================================");
            Log.d("","\n"+"[A_OkHttp > requestGetImageDownHttp() 메소드 : OK HTTP GET 사진 다운 요청 실시]");
            Log.d("","\n"+"["+"요청 주소 : " + String.valueOf(url)+"]");
            Log.d("","\n"+"["+"전송 값 : " + String.valueOf(dataParseFinal)+"]");
            Log.d("//===========//","================================================");
            Log.d("---","---");

            //TODO [비동기 처리 (enqueue 사용)]
            client.newCall(request).enqueue(new Callback() {
                //TODO [성공한 경우]
                @Override
                public void onResponse(Call call, final Response response) throws IOException {
                    final String responseCode = String.valueOf(response.toString());
                    runOnUiThread(new Runnable() {
                        public void run() {
                            Log.d("---","---");
                            Log.w("//===========//","================================================");
                            Log.d("","\n"+"[A_OkHttp > requestGetImageDownHttp() 메소드 : OK HTTP GET 사진 다운 요청 성공]");
                            Log.d("","\n"+"["+"응답 코드 : " + String.valueOf(responseCode)+"]");
                            Log.w("//===========//","================================================");
                            Log.d("---","---");
                            //TODO [이미지를 바이트 값으로 받음]
                            try {
                                InputStream inputStream = response.body().byteStream();
                                Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
                                inputStream.close();

                                //TODO [이미지 뷰에 비트맵 이미지 표시]
                                imageView.setImageBitmap(bitmap);
                            } catch (IOException e) {
                                e.printStackTrace();
                            }

                            //TODO [Alert 팝업창 알림 실시]
                            getAlertDialog("[GET IMAGE DOWN 알림]",
                                    "요청 주소 : "+ url + "\n" + "\n" +
                                            "요청 값 : "+ dataParseFinal + "\n" + "\n" +
                                            "응답 값 : "+ responseCode + "\n",
                                    "확인", "취소", "");
                        }
                    });
                }
                //TODO [실패한 경우]
                @Override
                public void onFailure(Call call, IOException e) {
                    final String responseCode = String.valueOf(e.toString());
                    final String responseData = String.valueOf(e.getMessage());
                    runOnUiThread(new Runnable() {
                        public void run() {
                            Log.d("---","---");
                            Log.e("//===========//","================================================");
                            Log.d("","\n"+"[A_OkHttp > requestGetImageDownHttp() 메소드 : OK HTTP GET 사진 다운 요청 실패]");
                            Log.d("","\n"+"["+"에러 코드 : " + String.valueOf(responseCode)+"]");
                            Log.d("","\n"+"["+"에러 값 : " + String.valueOf(responseData)+"]");
                            Log.e("//===========//","================================================");
                            Log.d("---","---");
                            //TODO [Alert 팝업창 알림 실시]
                            getAlertDialog("[GET IMAGE DOWN 알림]",
                                    "요청 주소 : "+ url + "\n" + "\n" +
                                            "요청 값 : "+ dataParseFinal + "\n" + "\n" +
                                            "에러 값 : "+ responseData + "\n",
                                    "확인", "취소", "");
                        }
                    });
                }
            });
        } catch (final Exception e){
            runOnUiThread(new Runnable() {
                public void run() {
                    Log.d("---","---");
                    Log.e("//===========//","================================================");
                    Log.d("","\n"+"[A_OkHttp > requestGetImageDownHttp() 메소드 : OK HTTP GET 사진 다운 요청 실패 - CATCH]");
                    Log.d("","\n"+"["+"에러 값 : " + String.valueOf(e.getMessage())+"]");
                    Log.e("//===========//","================================================");
                    Log.d("---","---");
                    //TODO [Alert 팝업창 알림 실시]
                    getAlertDialog("[GET IMAGE DOWN 알림]",
                            "[CATCH EXCEPTION]" + "\n" + "\n" +
                                    "에러 값 : "+ String.valueOf(e.getMessage()) + "\n",
                            "확인", "취소", "");
                }
            });
            e.printStackTrace();
        }
    }










/** ========= [AlertDialog 팝업창 호출 메소드 정의 실시] ========= **/
    public void getAlertDialog(String header, String content, String ok, String no, String normal){
        //TODO [타이틀 및 내용 표시]
        final String Tittle = String.valueOf(header);
        final String Message = String.valueOf(content);

        //TODO [버튼 이름 정의]
        String buttonNo = no;
        String buttonYes = ok;
        String buttonNature = normal;
        try {
            //TODO [AlertDialog 팝업창 생성]
            new AlertDialog.Builder(A_OkHttp.this)
                    .setTitle(Tittle) //[팝업창 타이틀 지정]
                    //.setIcon(R.drawable.tk_app_icon) //[팝업창 아이콘 지정]
                    .setMessage(Message) //[팝업창 내용 지정]
                    .setCancelable(false) //[외부 레이아웃 클릭시도 팝업창이 사라지지않게 설정]
                    .setPositiveButton(buttonYes, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            // TODO Auto-generated method stub
                        }
                    })
                    .setNegativeButton(buttonNo, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            // TODO Auto-generated method stub
                        }
                    })
                    .setNeutralButton(buttonNature, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            // TODO Auto-generated method stub
                        }
                    })
                    .show();
        }
        catch (Exception e){
            Toast.makeText(getApplicationContext(), Tittle+"\n"+Message,Toast.LENGTH_SHORT).show();
            e.printStackTrace();
        }
    }

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

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

[결과 출력]

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

반응형
Comments