투케이2K

854. (Android/Java) [유틸 파일] getIntentToMap : getIntent 데이터 확인 및 Map 반환 실시 본문

Android

854. (Android/Java) [유틸 파일] getIntentToMap : getIntent 데이터 확인 및 Map 반환 실시

투케이2K 2024. 8. 29. 20:08

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java / Kotlin

 

[소스 코드]

    // -----------------------------------------------------------------------------------------
    // TODO [SEARCH FAST] : [getIntentToMap] : getIntent 데이터 확인 및 Map 반환 실시
    // -----------------------------------------------------------------------------------------
    public static HashMap<String, String> getIntentToMap(Intent intent){

        /**
         * // -----------------------------------------
         * [getIntentToMap 메소드 설명]
         * // -----------------------------------------
         * 1. getIntent 데이터 확인 및 Map 반환 실시
         * // -----------------------------------------
         * 2. 호출 방법 :
         *
         * Intent intent = new Intent(A_Intro.this, A_Webview.class);
         * intent.putExtra("name", "twok");
         * intent.putExtra("age", "age");
         *
         * C_Intent.getIntentToMap(intent);
         * // -----------------------------------------
         * */

        // [리턴 변수 선언]
        HashMap<String, String> returnData = null;

        // [로직 처리 수행]
        try {

            if (intent != null && intent.getExtras() != null){
                S_Log.w("DEBUG_LOG", "getIntentToMap :: getExtras :: " + String.valueOf(intent.getExtras()));

                Bundle bundle = intent.getExtras();

                if (bundle != null && bundle.isEmpty() == false && bundle.keySet().size()>0){

                    returnData = new HashMap<>();

                    Set set = bundle.keySet();
                    Iterator iterator = set.iterator();
                    while(iterator.hasNext()){

                        String key = (String) iterator.next();
                        String value = bundle.get(key).toString();

                        returnData.put(key, value); // [리턴 맵에 추가]
                    }

                }
                else {
                    S_Log._E_("[Error] : getIntent 데이터 확인 및 Map 반환 에러", new String[]{"Bundle Is Null"});
                }
            }
            else {
                S_Log._E_("[Error] : getIntent 데이터 확인 및 Map 반환 에러", new String[]{"Input Intent Is Null"});
            }

        }
        catch (Exception e){
            S_Log._printStackTrace_(null, S_FinalData.LOG_BUG_STATE, null, e);
        }

        // [로그 출력]
        S_Log._D_("getIntent 데이터 확인 및 Map 반환 수행", new String[]{"returnData :: " + String.valueOf(returnData)});
        
        // [리턴 데이터 반환]
        return returnData;
    }
 

[결과 출력]

 

D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.C_Intent.getIntentToMap(C_Intent.java:2467)]
I/: ----------------------------------------------------
I/: [LOG :: NOW TIME :: 2024-08-29 10:32:23 목요일]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: getIntent 데이터 확인 및 Map 반환 수행]
I/: ----------------------------------------------------
I/: [LOG :: returnData :: {name=twok, age=age}]
D///===========//: ================================================

 

반응형
Comments