안녕하세요 이번 포스팅은 하이브리드 앱에서 주로 사용되는 웹뷰 세팅 속성에 관한 내용입니다. 웹뷰는 버전 2.2 이상부터 지원되고 흔히 사용하는 네이버등이 웹뷰를 사용중인 하이브리드 앱입니다. |
웹뷰를 선언하는 방법은 아래 방법외에 다양한 방법으로 가능합니다.
wb_content=(WebView)findViewById(R.id.wb_content);
주로 사용되는 속성 및 기타 속성들 입니다.
(추후에 더 조사하여 추가하도록 하겠습니다.)
private void settingWebview(WebView webView){
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.getSettings().setLoadsImagesAutomatically(true);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setSupportZoom(false);
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
webView.getSettings().setAppCacheEnabled(false);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setAllowFileAccess(true);
webView.setWebChromeClient(new WebChromeClient());
webView.getSettings().setUserAgentString("app");
}
setJavaScriptEnabled ( false )
웹뷰를 사용하면 네이티브 영역에서 코드로 처리 되는 것이 거의 없는 경우가 많습니다. 그래서 자바스크립트로 이루어져 있는 기능들을 사용하기 위하여 해당 속성을 추가해야합니다. |
setJavaScriptCanOpenWindowsAutomatically ( false )
필요에 의해 팝업창을 띄울 경우가 있는데, 해당 속성을 추가해야 window.open() 이 제대로 작동합니다. |
setLoadsImagesAutomatically ( true )
웹뷰가 앱에 등록되어 있는 이미지 리소스를 자동으로 로드하도록 설정하는 속성입니다. |
setUseWideViewPort ( false )
웹뷰가 wide viewport를 사용하도록 설정하는 속성입니다. 그래서 html 컨텐츠가 웹뷰에 맞게 나타나도록 합니다. |
setSupportZoom ( true )
확대 축소 기능을 사용할 수 있도록 설정하는 속성입니다. |
setCacheMode
웹뷰의 캐시 모드를 설정하는 속성으로써 5가지 모드가 존재합니다. LOAD_CACHE_ELSE_NETWORK 기간이 만료돼 캐시를 사용할 수 없을 경우 네트워크를 사용합니다. LOAD_CACHE_ONLY 네트워크를 사용하지 않고 캐시를 불러옵니다. LOAD_DEFAULT 기본적인 모드로 캐시를 사용하고 만료된 경우 네트워크를 사용해 로드합니다. LOAD_NORMAL 기본적인 모드로 캐시를 사용합니다. LOAD_NO_CACHE 캐시모드를 사용하지 않고 네트워크를 통해서만 호출합니다. |
setDomStorageEnabled( false )
로컬 스토리지 사용 여부를 설정하는 속성으로 팝업창등을 '하루동안 보지 않기' 기능 사용에 필요합니다. |
setAppCacheEnabled ( false )
앱 내부 캐시 사용 여부 설정입니다. |
setAllowFileAccess
웹뷰 내에서 파일 액세스 활성화 여부 |
setUserAgentString
웹에서 해당 속성을 통해 앱에서 띄운 웹뷰로 인지 할 수 있도록 합니다. |
오타나 잘못된점 지적해주시면 확인 즉시 수정하도록 하겠습니다.
문의사항 및 이의사항에 대해서는 댓글이나 방명록으로 남겨주시면 확인후 신속하게 처리하겠습니다.
감사합니다.
※이 포스팅은 쿠팡 파트너스 활동의 인활으로, 이에 따른 일정액의 수수료를 제공받고 있습니다.
'안드로이드 > 자바' 카테고리의 다른 글
[안드로이드/Android] Firebase Database 데이터업데이트 (0) | 2017.11.10 |
---|---|
[안드로이드/Android] 알파/베타버전 테스트 (4) | 2017.11.01 |
[안드로이드/Android] 설치된 어플 확인 (5) | 2017.09.27 |
[안드로이드/Android] 애드몹 전면광고 달기 (13) | 2017.09.03 |
[안드로이드/Android] 애드몹 배너 광고 달기 (5) | 2017.09.03 |