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,          ,      ,           ,            。

좋은 웹페이지 즐겨찾기