Notice
Recent Posts
Recent Comments
Link
투케이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();
}
// -----------------------------------------
}
반응형
'투케이2K 유틸파일' 카테고리의 다른 글
Comments