안드로이드 App 에 브라우저 삽입하기

Posted in 모바일/Android // Posted at 2010. 7. 14. 15:00

윈폼 닷넷(Windows Form .NET)  응용프로그램 개발 할 때 폼(Form) 안에 웹브라우저 컨트롤을
삽입하여 윈폼에서 웹 브라우징 프로그램을 만들 수 있었다

안드로이드 역시 프로그램 안에 웹 브라우징을 할 수 있는 일종의 컨트롤이 제공된다
닷넷에서는 컨트롤이라고 표현하지만 안드로이드에서는 위젯이라고 표현한다

바로 WebView 위젯이다

안드로이드 OS의 웹 브라우저는 웹킷(WebKit) 엔진에 기반을 두고 있다
웹 킷은 안드로이드 뿐만 아니라 애플의 사파리 브라우저의 기반이기도 하다

WebView 위젯 역시 안드로이드 라이브러리에서 제공하는 웹킷 기반 브라우저 위젯이다
이 웹뷰를 이용해 안드로이드 앱 안에 브라우저를 내장해서 사이트를 탐색해 보자

다음과 같이 main.xml 파일에 WebView 위젯을 정의한다

<?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/webkit"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent" /> 
                
</LinearLayout>


그리고 자바소스 파일에서 다음과 같이 WebView 를 통해 특정 사이트를 검색해 본다

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);                       
        setContentView(R.layout.main);
       
        WebView browser;
        browser=(WebView)findViewById(R.id.webkit);                     
        browser.loadUrl("http://mkexdev.net");
        browser.getSettings().setJavaScriptEnabled(true);            
    }


주의할 것은 권한문제이다
웹 뷰를 통해 인터넷 사이트를 탐색하기 위해서는 인터넷 접근 권한이 요구된다
메니페스트파일에 권한 정보를 명시해야 하는데 그렇지 않다면 프로그램 실행 시 다음과 같은
오류를 만나게 될 것이다



다음과 같이 메니페스트파일에 권한을 명시하도록 하자

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

WebView 위젯을 이용하면 LoadUrl을 통한 사이트 랜더링과 goBack, goForward, reload
등의 멤버를 이용해 사이트 탐색의 기본적인 동작을 수행할 수 있다

 

Tags ,

submit