Android 개발 중 WebView 의 간단 한 사용 소결

4687 단어 androidwebview
머리말
WebView(네트워크 보기)는 Andorid 에서 웹 페이지 를 표시 하 는 데 사 용 됩 니 다.어떻게 사용 하 는 지 살 펴 보 겠 습 니 다.
기본 사용
1.성명 권한,WebView 는 네트워크 를 사용 할 수 밖 에 없습니다.저 희 는 네트워크 접근 권한 을 추가 해 야 합 니 다.

<uses-permission android:name="android.permission.INTERNET"/>
2.레이아웃 넣 기

<WebView android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:id="@+id/web">
3.Activity 에서 인용

private WebView webView;
webView = (WebView) findViewById(R.id.web);
webView.loadUrl("http://piaoshu.org");
//webView.loadUrl("file:///android_asset/xx.html");        html
이 때 응용 프로그램 이 자동 으로 시스템 이나 제3자 브 라 우 저 에서 벗 어 나 는 것 을 발견 할 수 있 습 니 다.즉,자신의 응용 프로그램 에 자신의 웹 페이지 를 표시 할 수 없다 는 것 입 니 다.어 떡 하지?다음은 웹 뷰 의 두 가지 중요 한 감청 사건 을 소개 한다.
2.WebViewClient 와 WebChromeClient
4.567914.주로 웹 페이지 를 불 러 오 는 과정 에 대한 감청 에 사용 된다.

webView.setWebViewClient(new WebViewClient(){
 @Override
 //       ,           
 public boolean shouldOverrideUrlLoading(WebView view, String url) {
  view.loadUrl(url);
  return true;//    true        WebView    ,   false              
 }
 @Override 
 public void onReceivedError(WebView view, int errorCode, 
  String description, String failingUrl) { 
//         ,       .
//     404    ,        html  asset    , webView           。
  } 

  @Override 
  public void onPageStarted(WebView view, String url, Bitmap favicon) { 
   super.onPagStarted(view, url, favicon); 
   //                ,      
  } 

  @Override 
  public void onPageFinished(WebView view, String url) { 
   super.onPageFinished(view, url); 
   //              ,      
  } 
}
);
4.567914.주로 웹 페이지 를 불 러 오 는 과정 에서 UI 에 대한 작업 에 사 용 됩 니 다.

webView.setWebChromeClient(new WebChromeClient(){
 @Override
 public void onProgressChanged(WebView view, int newProgress) {
  progressBar.setProgress(newProgress);
//newProgress   1 100   ,            ProgressBar ProgressDialog      
  } 
 }
 @Override
 public void onReceivedTitle(WebView view, String title) { 
  textView.setText(title);//  title      ,     textView   。
 }
}
);
자,웹 페이지 로 딩 상황 을 살 펴 보 겠 습 니 다.

웹 페이지 를 잘 불 러 온 것 같 지만,사실 나 는 이미 관련 속성 을 설정 했다.웹 뷰 에 어떤 속성 이 있 는 지 살 펴 보 겠 습 니 다.
3.웹 설정

WebSettings settings=webView.getSettings();

//  JavaScript  
settings.setJavaScriptEnabled(true);

//  WebView        
settings.setUseWideViewPort(true);

//       
settings.setBuiltInZoomControls(true);

//  WebView            
settings.setLoadWithOverviewMode(true);

//WebView             
settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
아직 속성 이 있 으 니 말 하지 않 겠 습 니 다.관심 있 는 사람 은 직접 찾 아 보 세 요.
파일 다운로드
웹 뷰 에는 파일 을 다운로드 하 는 링크 가 포함 되 어 있 습 니 다.링크 를 클릭 하면 파일 이 로 컬 로 다운 로드 됩 니 다.어떻게 실현 합 니까?시스템 은 우리 에 게 다운로드 인 터 페 이 스 를 제공 합 니 다.DownloadListener 는 코드 가 간단 하고 편리 합 니 다.
우 리 는 이 인 터 페 이 스 를 실현 하고 재 작성 하 는 방법 을 만 들 면 Intent 를 통 해 시스템 의 브 라 우 저 를 호출 합 니 다.

class MyListenter implements DownloadListener{
 @Override
 public void onDownloadStart(String url, String userAgent,        String contentDisposition, String mimetype, long contentLength) {
  Uri uri = Uri.parse(url); //url     
  Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
  startActivity(intent);
 }
}
모니터 설치 하 는 거 잊 지 마 세 요.

webView.setDownloadListener(new MyListenter());
우 리 는 제3자 브 라 우 저 를 빌려 다운로드 하 는데,이것 이 가장 간단 한 방법 이다.
Android 다운 로드 를 클릭 하면 다음 과 같은 효과 가 나타 납 니 다.

또는 우 리 는 스 레 드 를 써 서 다운로드 할 수 있 습 니 다webView.setWebViewClient()방법 에서 스 레 드 를 시작 하면 됩 니 다.구체 적 인 코드 는 붙 이지 않 습 니 다.
용법 을 총괄 하 다.
사용 하기 전에 설명 권한 을 기억 하 세 요.컨트롤 의 인용 은 말 할 필요 가 없습니다.
중점 은 웹 뷰 클 라 이언 트 와 웹 크롬 클 라 이언 트 두 종류 에 있다.
4.567914.주로 웹 페이지 를 불 러 오 는 과정 과 관련 된 작업 에 사용 된다.
4.567914.웹 페이지 를 불 러 오 는 과정 에서 UI 에 대한 작업 에 사 용 됩 니 다.
시스템 은 다운로드 인터페이스 인 DownloadListener 도 제공 합 니 다.
이상 은 이 글 의 전체 내용 입 니 다.여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 십시오.

좋은 웹페이지 즐겨찾기