투케이2K

24. (TWOK/UTIL) [Android/Java] C_Ui_View - 팝업창 표시 , UI 뷰 관련 표시 수행 본문

투케이2K 유틸파일

24. (TWOK/UTIL) [Android/Java] C_Ui_View - 팝업창 표시 , UI 뷰 관련 표시 수행

투케이2K 2022. 3. 26. 22:22

[설 명]

프로그램 : Android / Java

설 명 : 팝업창 표시 , UI 뷰 관련 표시 수행

 

[소스 코드]

 

package com.example.testapp;

import static android.content.Context.CLIPBOARD_SERVICE;

import android.app.ActivityManager;
import android.app.AlertDialog;
import android.app.NotificationManager;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.util.Log;
import android.view.Display;
import android.view.WindowManager;
import android.widget.Toast;

public class C_Ui_View {


    /**
     * TODO [클래스 설명]
     * // -----------------------------------------
     * 1. 팝업창 표시 , UI 뷰 관련 표시 수행
     * // -----------------------------------------
     * */





    // TODO [빠른 로직 찾기 : 주석 로직 찾기]
    /**
     * // -----------------------------------------
     * // [SEARCH FAST] : []
     * // -----------------------------------------
     */





    // TODO [팝업창 호출 처리 메소드]
    public static void showAlert(final Context mContext, final int setType, String header, String content, String ok, String no, String normal) {
        Log.i("---", "---");
        Log.d("//===========//", "================================================");
        Log.i("", "\n" + "[C_Ui_View >> showAlert() :: 팝업창 호출 실시]");
        Log.i("", "\n" + "[setType :: " + String.valueOf(setType) + "]");
        Log.i("", "\n" + "[header :: " + String.valueOf(header) + "]");
        Log.i("", "\n" + "[content :: " + String.valueOf(content) + "]");
        Log.d("//===========//", "================================================");
        Log.i("---", "---");

        // -----------------------------------------

        /** [사용 방법 정의] */
        /*
        // [팝업창 호출 실시]
        C_Ui_View.showAlert(
                A_Main.this,
                1, // [와이파이 설정창 이동 코드]
                "알림",
                "현재 연결된 네트워크가 없습니다. \n 설정에서 다시 확인해주세요.",
                "설정",
                "취소",
                "");
        // */

        // -----------------------------------------

        /** [파라미터 관련 설명] */
        // 1. setType : 설정창 이동 여부 타입
        //  - [0 = 없음 / 1 = 와이파이 설정창 / 2 = 블루투스 설정창 / 3 = 위치 권한 설정창]
        //  - [4 = NFC 설정창 / 5 = 애플리케이션 설정창]
        // 2. header : 팝업창 타이틀
        // 3. content : 팝업창 내용
        // 4. ok : 확인 버튼
        // 5. no : 취소 버튼
        // 6. normal : 노멀 버튼

        // -----------------------------------------

        // [타이틀 및 내용 표시]
        final String Tittle = String.valueOf(header);
        final String Message = String.valueOf(content);

        // -----------------------------------------

        // [버튼 이름 정의]
        String buttonYes = String.valueOf(ok);
        String buttonNo = String.valueOf(no);
        String buttonNature = String.valueOf(normal);

        // -----------------------------------------

        try {
            // [AlertDialog 팝업창 생성]
            new AlertDialog.Builder(mContext)
                    .setTitle(Tittle) //[팝업창 타이틀 지정]
                    //.setIcon(R.drawable.app_icon) //[팝업창 아이콘 지정]
                    .setMessage(Message) //[팝업창 내용 지정]
                    .setCancelable(false) //[외부 레이아웃 클릭시도 팝업창이 사라지지않게 설정]
                    .setPositiveButton(buttonYes, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            // TODO Auto-generated method stub
                            // -----------------------------------------
                            // TODO [확인 버튼 클릭 이벤트 처리]
                            if (setType == 0) {
                                // [일반 알림 표시]
                            }
                            if (setType == 1) {
                                C_Intent.goWifiIntent(mContext); // [와이파이 설정창 이동]
                            }
                            // -----------------------------------------
                            if (setType == 2) {
                                C_Intent.goBleSettingsIntent(mContext); // [블루투스 설정창 이동]
                            }
                            // -----------------------------------------
                            if (setType == 3) {
                                C_Intent.goGpsSettingsIntent(mContext); // [위치 설정창 이동]
                            }
                            // -----------------------------------------
                            if (setType == 4) {
                                C_Intent.goNfcIntent(mContext); // [NFC 설정창 이동]
                            }
                            // -----------------------------------------
                            if (setType == 5) {
                                C_Intent.goAppInfoIntent(mContext); // [애플리케이션 설정창 이동]
                            }
                            // -----------------------------------------
                        }
                    })
                    .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) {
            //e.printStackTrace();
            Log.i("---", "---");
            Log.e("//===========//", "================================================");
            Log.i("", "\n" + "[C_Ui_View >> showAlert() :: 팝업창 호출 실시]");
            Log.i("", "\n" + "[catch [에러] :: " + String.valueOf(e.getMessage()) + "]");
            Log.e("//===========//", "================================================");
            Log.i("---", "---");
            try {
                // [토스트 알림 표시 수행]
                Toast.makeText(mContext, Tittle + "\n" + Message, Toast.LENGTH_SHORT).show();
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }




    // TODO [클립보드 복사 팝업창 호출 처리 메소드]
    public static void showAlertCopy(final Context mContext, String header, String content, String ok, String no) {
        Log.i("---", "---");
        Log.d("//===========//", "================================================");
        Log.i("", "\n" + "[C_Ui_View >> showAlertCopy() :: 클립보드 복사 팝업창 호출 실시]");
        Log.i("", "\n" + "[header :: " + String.valueOf(header) + "]");
        Log.i("", "\n" + "[content :: " + String.valueOf(content) + "]");
        Log.d("//===========//", "================================================");
        Log.i("---", "---");

        // -----------------------------------------

        /** [사용 방법 정의] */
        /*
        // [팝업창 호출 실시]
        C_Ui_View.showAlertCopy(
                A_Main.this,
                "알림",
                "메시지 내용을 복사합니다",
                "확인",
                "취소");
        // */

        // -----------------------------------------

        // [타이틀 및 내용 표시]
        final String Tittle = String.valueOf(header);
        final String Message = String.valueOf(content);

        // -----------------------------------------

        // [버튼 이름 정의]
        String buttonYes = String.valueOf(ok);
        String buttonNo = String.valueOf(no);

        // -----------------------------------------

        try {
            // [AlertDialog 팝업창 생성]
            new AlertDialog.Builder(mContext)
                    .setTitle(Tittle) //[팝업창 타이틀 지정]
                    //.setIcon(R.drawable.app_icon) //[팝업창 아이콘 지정]
                    .setMessage(Message) //[팝업창 내용 지정]
                    .setCancelable(false) //[외부 레이아웃 클릭시도 팝업창이 사라지지않게 설정]
                    .setPositiveButton(buttonYes, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            // TODO Auto-generated method stub
                            // -----------------------------------------
                            // TODO [확인 버튼 클릭 이벤트 처리]
                            try {
                                ClipboardManager clipboardManager = (ClipboardManager) mContext.getSystemService(CLIPBOARD_SERVICE);
                                ClipData clipData = ClipData.newPlainText("copy", Message); //TODO 클립보드에 copy 라는 이름표로 데이터를 복사하여 저장
                                clipboardManager.setPrimaryClip(clipData);
                            } catch (Exception e) {
                                //e.printStackTrace();
                                Toast.makeText(mContext, "copy error : " + String.valueOf(e.getMessage()), Toast.LENGTH_SHORT).show();
                            }
                            // -----------------------------------------
                        }
                    })
                    .setNegativeButton(buttonNo, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            // TODO Auto-generated method stub
                        }
                    })
                    .show();
        } catch (Exception e) {
            //Toast.makeText(mContext, Tittle+"\n"+Message,Toast.LENGTH_SHORT).show();
            //e.printStackTrace();
            Log.i("---", "---");
            Log.e("//===========//", "================================================");
            Log.i("", "\n" + "[C_Ui_View >> showAlertCopy() :: 클립보드 복사 팝업창 호출 실시]");
            Log.i("", "\n" + "[catch [에러] :: " + String.valueOf(e.getMessage()) + "]");
            Log.e("//===========//", "================================================");
            Log.i("---", "---");
        }
    }


} // TODO [클래스 종료]

반응형
Comments