1. AndroidMenifest Internet Permission
<uses-permission android:name="android.permission.INTERNET" />
2. webview xml 작성
WebView : 웹페이지 컨텐츠 표시
ProgressBar : 웹페이지 로딩 애니메이션
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp" android:layout_weight="1">
<WebView
android:id="@+id/wView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ProgressBar
android:id="@+id/pBar"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
</FrameLayout>
3. Activity java 코드 작성
- xml에 작성한 View id 가져오기
WebView = findViewById(R.id.wView);
mProgressBar = findViewById(R.id.pBar);
mProgressBar.setVisibility(View.GONE);
- webview setting (Zoom control, Java script표시 등)
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setDisplayZoomControls(false);
mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setJavaScriptEnabled(true);
- webview client 생성 (웹페이지 로딩, SSL인증서, 페이지에러 등 상태를 확인 할 수 있다.
mWebView.setWebViewClient(new WebViewClient(){
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
mProgressBar.setVisibility(View.VISIBLE);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
mProgressBar.setVisibility(View.GONE);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
super.onReceivedError(view, request, error);
// runs when there's a failure in loading page
mProgressBar.setVisibility(View.GONE);
//Toast.makeText(this, "Failure on loading web page", Toast.LENGTH_SHORT).show();
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed(); // SSL 인증서 무시
}
});
}
- webview 원하는 웹주소 페이지를 로딩한다.
mWebView.loadUrl("https://m.naver.com");
- load한 웹페이지를 확인할 수 있다.