투케이2K

47. (TWOK/UTIL) [Android/Java] A_Main 웹뷰 앱 라이프 사이클 체크 및 웹뷰 갱신 리로드 수행 정리 본문

투케이2K 유틸파일

47. (TWOK/UTIL) [Android/Java] A_Main 웹뷰 앱 라이프 사이클 체크 및 웹뷰 갱신 리로드 수행 정리

투케이2K 2022. 6. 4. 18:19

[설 명]

프로그램 : Android / Java

설 명 : A_Main 웹뷰 앱 라이프 사이클 체크 및 웹뷰 갱신 리로드 수행 정리

 

[S_Application - 소스 코드]

    // TODO [프로세스 생명주기 관리]
    @Override
    public void onCreate() {
        try {
            super.onCreate();
            Log.i("---","---");
            Log.w("//===========//","================================================");
            Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onCreate() :: 애플리케이션 시작 수행]");
            Log.w("//===========//","================================================");
            Log.i("---","---");

            // -----------------------------------------
            // [애플리케이션 시작 시 데이터 초기화 실시]
            S_Preference.proccessCreateClear(getApplicationContext());
            // -----------------------------------------


            // -----------------------------------------
            // [SEARCH FAST] : [앱 라이프 사이클 갱신 시간 저장]
            String appCycleTime = String.valueOf(S_Preference.getString(getApplicationContext(), S_FinalData.PRE_APP_UPDT_TIME));
            if (C_Util.stringNotNull(appCycleTime) == true){
            }
            else { // [널 값인 경우]
                S_Preference.setString(getApplicationContext(), S_FinalData.PRE_APP_UPDT_TIME, S_FinalData.PRE_WV_SAVE_TIME);
                S_Preference.setString(getApplicationContext(), S_FinalData.PRE_APP_UPDT_TIME, S_FinalData.PRE_WV_SAVE_TIME);
            }
            // -----------------------------------------
        }
        catch (Exception e){
            e.printStackTrace();
        }
    }
 

[개별 Activity [각 액티비티 마다 모두 추가] - 소스 코드]

    // TODO [액티비티 생명 주기 상태 체크 메소드]
    @Override
    public void onResume(){
        super.onResume();
        Log.i("---","---");
        Log.d("//===========//","================================================");
        Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onResume() :: 액티비티 실행 준비]");
        Log.d("//===========//","================================================");
        Log.i("---","---");

        // [SEARCH FAST] : [앱 라이프 사이클 시간 저장]
        try {
            String foreTime = String.valueOf(C_Util.getNowDateTime24Number());
            S_Preference.setString(getApplication(), S_FinalData.PRE_WV_RESUME_TIME, foreTime);
            S_Preference.setString(getApplication(), S_FinalData.PRE_WV_RESUME_TIME, foreTime);

            Log.i("---","---");
            Log.w("//===========//","================================================");
            Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onResume() :: 앱 포그라운드 라이프 사이클 시간 저장]");
            Log.i("","\n"+"[foreTime :: "+String.valueOf(foreTime)+"]");
            Log.w("//===========//","================================================");
            Log.i("---","---");
        }
        catch (Exception e){
            e.printStackTrace();
        }
    }





    // TODO [액티비티 생명 주기 상태 체크 메소드]
    @Override
    public void onPause(){
        super.onPause();
        Log.i("---","---");
        Log.e("//===========//","================================================");
        Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onPause() :: 액티비티 정지 상태]");
        Log.e("//===========//","================================================");
        Log.i("---","---");

        // [SEARCH FAST] : [앱 라이프 사이클 시간 저장]
        try {
            String pauseTime = String.valueOf(C_Util.getNowDateTime24Number());
            S_Preference.setString(getApplication(), S_FinalData.PRE_WV_PAUSE_TIME, pauseTime);
            S_Preference.setString(getApplication(), S_FinalData.PRE_WV_PAUSE_TIME, pauseTime);

            Log.i("---","---");
            Log.e("//===========//","================================================");
            Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onPause() :: 앱 백그라운드 라이프 사이클 시간 저장]");
            Log.i("","\n"+"[pauseTime :: "+String.valueOf(pauseTime)+"]");
            Log.e("//===========//","================================================");
            Log.i("---","---");
        }
        catch (Exception e){
            e.printStackTrace();
        }
    }
 

[A_Main - 소스 코드]

    // TODO [액티비티 생명 주기 상태 체크 메소드]
    @Override
    public void onResume(){
        super.onResume();
        Log.i("---","---");
        Log.d("//===========//","================================================");
        Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onResume() :: 액티비티 실행 준비]");
        Log.d("//===========//","================================================");
        Log.i("---","---");

        // -----------------------------------------
        // [액티비티 정지 상태 일 경우 로직 처리 실시]
        // -----------------------------------------


        // -----------------------------------------
        // [외부 브라우저 복귀 시 화면 전환 애니메이션 없애기 위함]
        try {
            overridePendingTransition(0,0);
        }
        catch (Exception e){
            //e.printStackTrace();
        }
        // -----------------------------------------


        // -----------------------------------------
        // [SEARCH FAST] : [앱 라이프 사이클 시간 저장]
        String foreTime = "";
        try {
            foreTime = String.valueOf(C_Util.getNowDateTime24Number());
            S_Preference.setString(getApplication(), S_FinalData.PRE_WV_RESUME_TIME, foreTime);
            S_Preference.setString(getApplication(), S_FinalData.PRE_WV_RESUME_TIME, foreTime);

            Log.i("---","---");
            Log.w("//===========//","================================================");
            Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onResume() :: 앱 포그라운드 라이프 사이클 시간 저장]");
            Log.i("","\n"+"[foreTime :: "+String.valueOf(foreTime)+"]");
            Log.w("//===========//","================================================");
            Log.i("---","---");
        }
        catch (Exception e){
            e.printStackTrace();
        }
        // -----------------------------------------


        // -----------------------------------------
        try {
            // [앱 포그라운드 및 백그라운드 상태 체크 앱 리로드 수행]
            String appCycleSave = String.valueOf(S_Preference.getString(getApplication(), S_FinalData.PRE_APP_UPDT_TIME));
            String pauseTime = String.valueOf(S_Preference.getString(getApplication(), S_FinalData.PRE_WV_PAUSE_TIME));

            int appCycleTime = C_Util.getDateMinus(foreTime, pauseTime);

            Log.i("---","---");
            Log.w("//===========//","================================================");
            Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onResume() :: 앱 포그라운드 라이프 사이클 시간 차이 확인]");
            Log.i("","\n"+"[저장된 앱 라이프 사이클 갱신 시간 [분 단위] :: "+String.valueOf(appCycleSave)+"]");
            Log.i("","\n"+"[앱 포그라운드 및 백그라운드 시간 차이 :: "+String.valueOf(appCycleTime)+"]");
            Log.w("//===========//","================================================");
            Log.i("---","---");

            if (C_Util.stringNotNull(appCycleSave) == true && appCycleTime >= Integer.parseInt(appCycleSave)){

                ///*
                // -----------------------------------------
                // [프리퍼런스 데이터 초기화]
                S_Preference.webViewReloadClear(getApplication());
                // -----------------------------------------
                // [화면 전환 수행]
                Intent goPage = new Intent(A_Main.this, A_Intro.class);
                goPage.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
                startActivity(goPage);
                // -----------------------------------------
                // [기존 화면 종료]
                finish();
                overridePendingTransition(0, 0);
                // -----------------------------------------
                // */
            }
        }
        catch (Exception e){
            e.printStackTrace();
        }
        // -----------------------------------------
    }





    // TODO [액티비티 생명 주기 상태 체크 메소드]
    @Override
    public void onPause(){
        super.onPause();
        Log.i("---","---");
        Log.e("//===========//","================================================");
        Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onPause() :: 액티비티 정지 상태]");
        Log.e("//===========//","================================================");
        Log.i("---","---");

        // -----------------------------------------
        // [액티비티 정지 상태 일 경우 로직 처리 실시]
        // -----------------------------------------

        // -----------------------------------------
        // [SEARCH FAST] : [앱 라이프 사이클 시간 저장]
        try {
            String pauseTime = String.valueOf(C_Util.getNowDateTime24Number());
            S_Preference.setString(getApplication(), S_FinalData.PRE_WV_PAUSE_TIME, pauseTime);
            S_Preference.setString(getApplication(), S_FinalData.PRE_WV_PAUSE_TIME, pauseTime);

            Log.i("---","---");
            Log.e("//===========//","================================================");
            Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onPause() :: 앱 백그라운드 라이프 사이클 시간 저장]");
            Log.i("","\n"+"[pauseTime :: "+String.valueOf(pauseTime)+"]");
            Log.e("//===========//","================================================");
            Log.i("---","---");
        }
        catch (Exception e){
            e.printStackTrace();
        }
        // -----------------------------------------
    }
 

 

반응형
Comments