Notice
Recent Posts
Recent Comments
Link
투케이2K
82. (TWOK/LOGIC) [android] 안드로이드 웹뷰 (webview) 로딩 수행 간 네이티브 앱 로딩 프로그레스 동작 로직 - loading progress 본문
투케이2K 로직정리
82. (TWOK/LOGIC) [android] 안드로이드 웹뷰 (webview) 로딩 수행 간 네이티브 앱 로딩 프로그레스 동작 로직 - loading progress
투케이2K 2024. 10. 14. 20:06[로직 정리]
정리 로직 : Android / 안드로이드
상태 : [android] 안드로이드 웹뷰 (webview) 로딩 수행 간 네이티브 앱 로딩 프로그레스 동작 로직 - loading progress
[설 명]
// --------------------------------------------------------------------------------------
[사전) 설정 및 정보 확인 사항]
// --------------------------------------------------------------------------------------
- 안드로이드 특정 URL 을 로드 하기 위한 웹뷰 클래스 생성 필요
- 네이티브 로딩 프로그레스 동작 클래스 생성 필요
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[로직 설명]
// --------------------------------------------------------------------------------------
1. 안드로이드 웹뷰에서 로드 시 특정 이벤트 감지를 위한 WebViewClient 상속 클래스 지정 실시
>> main_webview.setWebViewClient(new MainWeb());
>> class MainWeb extends WebViewClient : 페이지 로딩 시작, 종료 이벤트 핸들러 지정
2. 웹뷰 특정 URL 로드 수행 실시
>> main_webview.loadUrl(url);
>> 필요에 따라 : 웹뷰 로드 수행 하위 부분에 웹뷰 View Gone 숨김 처리 수행 가능
3. 웹뷰 로드 수행 시작 onPageStarted 부분에서 네이티브 로딩 프로그레스 동작 수행 실시
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
S_Log._fileSave_(null, true, ACTIVITY_NAME + " : onPageStarted : 웹 로딩 시작", new String[]{"URL :: " + String.valueOf(url)});
// --------------------------------------
// [SEARCH FAST] : [웹뷰 로드 수행 실시]
// --------------------------------------
// [로딩 프로그레스 동작]
// --------------------------------------
// C_Ui_View.startLoadingShowAlert(C_CommonWebview.this, 0, "알 림", "웹 로딩 중 입니다 .. 잠시만 기다려주세요.", "확인");
// --------------------------------------
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
@Override
public void run() {
if (loadingBar != null){
try { loadingBar.setVisibility(View.VISIBLE); } catch (Exception e){}
}
}
}, 0);
// --------------------------------------
}
4. 웹뷰 로딩 완료 및 에러 발생 시 예외 처리 콜백 메소드에서 네이티브 로딩 프로그레스 동작 종료 수행
>> onPageFinished , onReceivedHttpError , onReceivedError , onReceivedSslError
// --------------------------------------
// [로딩 프로그레스 완료]
// --------------------------------------
// C_Ui_View.stopLoadingShowAlert(C_CommonWebview.this);
// --------------------------------------
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
@Override
public void run() {
if (loadingBar != null){
try { loadingBar.setVisibility(View.GONE); } catch (Exception e){}
}
}
}, 0);
// --------------------------------------
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
[안드로이드 웹뷰 유틸 클래스]
https://blog.naver.com/kkh0977/222680670897?trackingCode=blog_bloghome_searchlist
// --------------------------------------------------------------------------------------
반응형
'투케이2K 로직정리' 카테고리의 다른 글
Comments