안 드 로 이 드 개발 학습 노트

6853 단어 AndroidWebView
첫 번 째 방법의 절차:
1.Activity 에서 WebView 구성 요 소 를 예화 하려 면:WebView webView=new WebView(this);
2.WebView 의 loadUrl()방법 을 호출 하여 WevView 가 표시 할 웹 페이지 를 설정 합 니 다.
  인터넷 용:webView.loadUrl(")http://www.google.com");
  로 컬 파일 용:webView.loadUrl(")file:///android_asset/XX.html"); 로 컬 파일 저장:assets 파일 에
3.Activity 의 setContentView()방법 으로 웹 페이지 보 기 를 표시 합 니 다.
4.WebView 점 링크 로 여러 페이지 를 본 후 WebView 가 리 턴 기능 을 지원 하기 위해 Activity 류 를 덮어 쓰 는 onKeyDown()방법 이 필요 합 니 다.처리 하지 않 고 시스템 리 턴 버튼 을 누 르 면 전체 브 라 우 저 는 finish()를 호출 하여 이전 페이지 로 돌아 가지 않 고 자신 을 종료 합 니 다.
5.AndroidManifest.xml 파일 에 권한 을 추가 해 야 합 니 다.그렇지 않 으 면 웹 페이지 not available 오류 가 발생 할 수 있 습 니 다.
 
다음은 구체 적 인 예 이다.
MainActivity.java

package com.android.webview.activity; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.webkit.WebView; 
 
public class MainActivity extends Activity { 
 private WebView webview; 
 @Override 
 public void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  //   WebView   
  webview = new WebView(this); 
  //  WebView  ,    Javascript   
  webview.getSettings().setJavaScriptEnabled(true); 
  //          
  webview.loadUrl("https://www.jb51.net/"); 
  //  Web   
  setContentView(webview); 
 } 
  
 @Override 
 //     
 //  Activity  onKeyDown(int keyCoder,KeyEvent event)   
 public boolean onKeyDown(int keyCode, KeyEvent event) { 
  if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) { 
   webview.goBack(); //goBack()    WebView      
   return true; 
  } 
  return false; 
} 
AndroidManifest.xml 파일 의 17 줄 에 권한 추가

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  package="com.android.webview.activity" 
  android:versionCode="1" 
  android:versionName="1.0"> 
 <uses-sdk android:minSdkVersion="10" /> 
 
 <application android:icon="@drawable/icon" android:label="@string/app_name"> 
  <activity android:name=".MainActivity" 
     android:label="@string/app_name"> 
   <intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
   </intent-filter> 
  </activity> 
 </application> 
 <uses-permission android:name="android.permission.INTERNET"/> 
</manifest>
효과 그림:

두 번 째 방법의 절차:
1.레이아웃 파일 에 WebView 설명
2.Activity 에서 WebView 를 예화 합 니 다.
3.WebView 의 loadUrl()방법 을 호출 하여 WevView 가 표시 할 웹 페이지 를 설정 합 니 다.
4.WebView 가 하이퍼링크 기능 에 응답 할 수 있 도록 setWebView Client()방법 을 호출 하여 설정 합 니 다.  WebView 보기
5.WebView 점 링크 로 여러 페이지 를 본 후에 WebView 가 리 턴 기능 을 지원 하기 위해 Activity 류 를 덮어 쓰 는 onKeyDown()방법 이 필요 합 니 다.처리 하지 않 고 시스템 리 턴 버튼 을 누 르 면 전체 브 라 우 저 는 finish()를 호출 하여 이전 페이지 로 되 돌아 가 는 것 이 아니 라 자신 을 끝 냅 니 다.
6.AndroidManifest.xml 파일 에 권한 을 추가 해 야 합 니 다.그렇지 않 으 면 Web page not available 오류 가 발생 합 니 다.

 
 다음은 구체 적 인 예 이다.
MainActivity.java

package com.android.webview.activity; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
 
public class MainActivity extends Activity { 
 private WebView webview; 
 @Override 
 public void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.main); 
  webview = (WebView) findViewById(R.id.webview); 
  //  WebView  ,    Javascript   
  webview.getSettings().setJavaScriptEnabled(true); 
  //          
  webview.loadUrl("https://www.jb51.net/"); 
  //  Web   
  webview.setWebViewClient(new HelloWebViewClient ()); 
 } 
  
 @Override 
 //     
 //  Activity  onKeyDown(int keyCoder,KeyEvent event)   
 public boolean onKeyDown(int keyCode, KeyEvent event) { 
  if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) { 
   webview.goBack(); //goBack()    WebView      
   return true; 
  } 
  return false; 
 } 
  
 //Web   
 private class HelloWebViewClient extends WebViewClient { 
  @Override 
  public boolean shouldOverrideUrlLoading(WebView view, String url) { 
   view.loadUrl(url); 
   return true; 
  } 
 } 
} 
main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 android:orientation="vertical" 
 android:layout_width="fill_parent" 
 android:layout_height="fill_parent" 
 > 
 <WebView 
  android:id="@+id/webview" 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent" 
  /> 
</LinearLayout> 
AndroidManifest.xml 파일 의 17 줄 에 권한 추가

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  package="com.android.webview.activity" 
  android:versionCode="1" 
  android:versionName="1.0"> 
 <uses-sdk android:minSdkVersion="10" /> 
 
 <application android:icon="@drawable/icon" android:label="@string/app_name"> 
  <activity android:name=".MainActivity" 
     android:label="@string/app_name"> 
   <intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
   </intent-filter> 
  </activity> 
 </application> 
 <uses-permission android:name="android.permission.INTERNET"/> 
</manifest> 
효과 그림:

본문 은'IT 의 소소 한'블 로그 에서 나 온 것 이다.

좋은 웹페이지 즐겨찾기