WebView 상세 설명
4483 단어 WebView 상세 설명
좋 은 글 을 백업 하 다.
문장의 출처: http://wenku.baidu.com/view/0ff321bffd0a79563c1e7230.html
안 드 로 이 드 폰 에 고성능 웹 키 트 커 널 브 라 우 저 를 내장 하 였 으 며, SDK 에 서 는 웹 뷰 라 는 구성 요소 인 웹 뷰 를 개발 하 는 과정 에서 몇 가 지 를 주의해 야 합 니 다. 1. AndroidManifest. xml 에 서 는 "android. permission. INTERNET" 을 사용 해 야 합 니 다. 그렇지 않 으 면 웹 페이지 not available 오류 가 발생 할 수 있 습 니 다. 2. 방문 한 페이지 에 Javascript 이 있 으 면 webview 는 Javascript 을 지원 하 는 것 을 설정 해 야 합 니 다.
WebSettings webSetting = webview.getSettings(); webSetting.setJavaScriptEnabled(true); 3. 페이지 에 링크 가 있 으 면 링크 를 클릭 하여 현재 브 라 우 저 에서 계속 응답 하 기 를 원 합 니 다. 안 드 로 이 드 를 새로 연 시스템 브 라 우 저 에서 링크 가 울 리 지 않 으 려 면 webview 의 WebView Client 대상 을 덮어 야 합 니 다.
mWebView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
4. 아무것도 처리 하지 않 고 웹 페이지 를 탐색 하고 시스템 "Back" 키 를 누 르 면 전체 Browser 는 finish () 를 호출 하여 자신 을 끝 냅 니 다. 브 라 우 저 를 내 놓 지 않 고 탐색 하고 자 하 는 웹 페이지 를 되 돌려 주 려 면 현재 Activity 에서 이 Back 이 벤트 를 처리 하고 소비 해 야 합 니 다.
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
5. webView 에서 사용자 가 사용자 이름, 비밀번호 또는 다른 것 을 수 동 으로 입력 해 야 한다 면 webview 는 제스처 초점 을 가 져 올 수 있 도록 지원 해 야 합 니 다.
webview.requestFocusFromTouch();
6. WebView 로 딩 인터페이스 에서 주로 세 가지 방법 을 호출 합 니 다: LoadUrl, LoadData, LoadDataWithBaseURL. 1, LoadUrl. 웹 페이지, 그림 을 직접 불 러 오고 표시 합 니 다. (로 컬 또는 네트워크 의 웹 페이지, 그림, gif) 2. LoadData 텍스트 와 그림 내용 표시 (시 뮬 레이 터 1.5, 1.6) 3, LoadDataWithBase 텍스트 와 그림 내용 보이 기 (여러 시 뮬 레이 터 버 전 지원)
WebSettings 의 일반적인 방법 소개
setJavaScriptEnabled(true);
// js
setPluginsEnabled(true);
//
setUseWideViewPort(false);
// webview
setSupportZoom(true);
//
setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
//
supportMultipleWindows();
//
setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
// webview
setAllowFileAccess(true);
//
setNeedInitialFocus(true);
// webview requestFocus webview
webSettings.setBuiltInZoomControls(true);
//
setJavaScriptCanOpenWindowsAutomatically(true);
// JS
setLoadsImagesAutomatically(true);
//
WebViewClient 의 방법 을 모두 이해 합 니 다.
doUpdateVisitedHistory(WebView view, String url, boolean isReload)
( )
onFormResubmission(WebView view, Message dontResend, Message resend)
( )
onLoadResource(WebView view, String url)
, ( ) 。
onPageStarted(WebView view, String url, Bitmap favicon)
, loading ,
。
onPageFinished(WebView view, String url)
。 , ,
loading , 。
onReceivedError(WebView view, int errorCode, String description, String failingUrl)
( )
onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host,
String realm)( )
onReceivedSslError(WebView view, SslErrorHandler handler, SslError error)
webview https 。
onScaleChanged(WebView view, float oldScale, float newScale)
(WebView )
onUnhandledKeyEvent(WebView view, KeyEvent event)
(Key )
shouldOverrideKeyEvent(WebView view, KeyEvent event)
。
shouldOverrideUrlLoading(WebView view, String url)
, true webview , 。 , URL, , , , 。