본문 바로가기

안드로이드/자바

[안드로이드/Android] WebView 세팅 속성

반응형

 

안녕하세요


이번 포스팅은 하이브리드 앱에서 주로 사용되는 웹뷰 세팅 속성에 관한 내용입니다.


웹뷰는 버전 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


웹에서 해당 속성을 통해 앱에서 띄운 웹뷰로 인지 할 수 있도록 합니다.





오타나 잘못된점 지적해주시면 확인 즉시 수정하도록 하겠습니다.



문의사항 및 이의사항에 대해서는 댓글이나 방명록으로 남겨주시면 확인후 신속하게 처리하겠습니다.

감사합니다.



이 포스팅은 쿠팡 파트너스 활동의 인활으로, 이에 따른 일정액의 수수료를 제공받고 있습니다.


반응형