WebView 를 사용하여 간단한 웹 브라우저 어플 만들기.

웹뷰는 웹브라우저 컴포넌트라고 할 수 있는데 웹 페이지를 읽어들일때 사용한다.

먼저, 외부의 웹 자원에 접근하기 위해서 메니페스트 파일에 적절한 권한을 할당해 주어야 한다.

<uses-permission android:name="android.permission.INTERNET" />

그리고 웹브라우저 처럼 보여야하기 때문에 어플 타이틀바를 없애기 위해 메니페스트 파일에 다음과 같은 테마를 적용시켜 준다.

android:theme="@android:style/Theme.NoTitleBar"

기본적으로 웹뷰의 페이지 링크를 눌러 새로운 페이지를 요청할 때, 내부의 웹뷰에서 페이지 이동이 일어나지 않고 외부 브라우저에 의해서 페이지가 로드되는데 이를 웹뷰에서 이동하기 위해 WebViewClient 를 구현해 주어야 한다. 

    private class WebLoaderClient extends WebViewClient{
     @Override
     public boolean shouldOverrideUrlLoading(WebView view, String url) {
     view.loadUrl(url);
     return true;
     }    
    }

그리고 화면에 웹 브라우저만 나오기 때문에 "뒤로가기" 버튼을 눌렀을 때, 웹뷰의 "이전페이지 가기" 기능이 동작하도록 onKeyDown 이벤트를 재정의 한다.

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        
     if((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()){
     mWebView.goBack();
     return true;
     }
    
     return super.onKeyDown(keyCode, event);
    }





Posted by hgjung

댓글을 달아 주세요