투케이2K

417. (kotlin/코틀린) [유틸 파일] setWebViewClearCache : 웹뷰 캐시 데이터 초기화 수행 - webview clear cache 본문

Kotlin

417. (kotlin/코틀린) [유틸 파일] setWebViewClearCache : 웹뷰 캐시 데이터 초기화 수행 - webview clear cache

투케이2K 2023. 9. 11. 19:47

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

 

        // -----------------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : [RETURN] setWebViewClearCache : 웹뷰 캐시 데이터 초기화 수행
        // -----------------------------------------------------------------------------------------
        fun setWebViewClearCache(mContext: Context, webView: WebView): Boolean {

            /**
             * // -----------------------------------------
             * [setWebViewClearCache  메소드 설명]
             * // -----------------------------------------
             * 1. 웹뷰 캐시 데이터 초기화 수행
             * // -----------------------------------------
             * 2. 호출 방식 :
             *
             * C_App.setWebViewClearCache(A_Intro@this, webview)
             *
             * // -----------------------------------------
             */


            // [로직 체크 변수 선언]
            var returnData = false


            // [로직 처리 실시]
            try {

                // [인풋 데이터 널 체크 수행]
                if (webView != null) {

                    // -----------------------------------------
                    // TODO [기본 웹뷰 캐시 클리어 및 히스토리 클리어]
                    // -----------------------------------------
                    webView.clearCache(true) // [디스크 및 쿠키 데이터 모두 지움]
                    webView.clearHistory() // [웹뷰 히스토리 지움]


                    // -----------------------------------------
                    // TODO [웹 로드 시 캐시 사용 설정]
                    // -----------------------------------------
                    webView.settings.cacheMode = WebSettings.LOAD_NO_CACHE // [웹 로드 시 캐시 사용 설정 안함 : 리소스 처음 부터 로드]
                    //webView.settings.cacheMode = WebSettings.LOAD_CACHE_ELSE_NETWORK // [웹 로드 시 캐시 사용 설정 : 리소스 캐시 사용 로드]


                    // -----------------------------------------
                    // TODO [리턴 변수 삽입]
                    // -----------------------------------------
                    returnData = true
                }

            } catch (e: Exception) {
                S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e)
            }


            // [로그 출력 실시]
            ///*
            // ===============================================================
            S_Log._D_("웹뷰 캐시 데이터 초기화 수행", arrayOf(
                "RETURN : $returnData"
            ))
            // ===============================================================
            // */


            // [리턴 반환 수행]
            return returnData
        }

 

반응형
Comments