Programming/WebView

WebView에서 HTML5 기능 사용하기

DOTI 2025. 4. 14. 15:09
WebView에서 HTML5 기능 사용하기
반응형

 

HTML5는 웹 애플리케이션을 더욱 강력하고 유연하게 만들어주는 다양한 기능들을 제공합니다. WebView를 사용하여 Android 앱 내에서 HTML5 기능을 사용할 수 있습니다. 이번 글에서는 WebView에서 활용할 수 있는 주요 HTML5 기능들을 소개하겠습니다.

1. HTML5 Local Storage (로컬 스토리지)

WebView에서는 HTML5의 로컬 스토리지를 사용하여 사용자 데이터를 클라이언트에 저장할 수 있습니다. 이를 통해 서버와의 통신 없이도 데이터를 저장하고 불러올 수 있습니다.

// 로컬 스토리지 사용을 위한 설정
webView.getSettings().setDomStorageEnabled(true);

이 설정을 활성화하면 JavaScript에서 localStoragesessionStorage를 사용할 수 있습니다.

2. HTML5 Geolocation (위치 정보)

웹 페이지가 사용자의 위치를 요구하는 경우, WebView에서 위치 정보를 처리하려면 Geolocation API를 활성화해야 합니다.

webView.getSettings().setGeolocationEnabled(true);

webView.setWebChromeClient(new WebChromeClient() {
    @Override
    public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
        callback.invoke(origin, true, false);
    }
});

이렇게 설정하면 HTML5 위치 기능을 사용할 수 있으며, 웹 페이지가 위치를 요청하면 사용자의 위치를 제공할 수 있습니다.

3. HTML5 Canvas (캔버스)

HTML5의 <canvas> 요소를 사용하여 2D 그래픽을 그릴 수 있습니다. WebView 내에서 JavaScript를 통해 동적인 그래픽을 그리거나 애니메이션을 구현할 수 있습니다.

webView.loadUrl("javascript:drawCanvas()");

JavaScript에서 canvas 객체를 사용하여 그래픽을 처리하면, 이를 WebView 내에서 보여줄 수 있습니다.

4. HTML5 Video (비디오)

HTML5의 <video> 태그를 사용하여 웹 페이지에서 비디오를 재생할 수 있습니다. WebView에서는 기본적으로 비디오가 재생되지만, 비디오 재생을 위한 추가 설정을 할 수 있습니다.

webView.getSettings().setMediaPlaybackRequiresUserGesture(false);

위 설정을 통해 사용자가 직접 비디오를 클릭하지 않아도 자동으로 재생할 수 있습니다. 또한, WebChromeClientonShowCustomView 메서드를 사용하여 풀스크린 비디오를 구현할 수도 있습니다.

5. HTML5 Offline Application Cache (오프라인 웹 앱)

HTML5의 오프라인 웹 앱 기능을 사용하면 인터넷이 없는 상태에서도 웹 애플리케이션을 사용할 수 있습니다. WebView에서 이 기능을 사용하려면 앱의 AndroidManifest.xml 파일에 다음과 같은 설정을 추가해야 합니다.

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:allowBackup="true" android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" android:theme="@style/AppTheme">
    <meta-data android:name="android.webkit.WebView" android:value="true" />
</application>

이 설정을 통해 WebView에서 오프라인 캐시를 사용할 수 있습니다.

정리

  • 로컬 스토리지와 세션 스토리지로 클라이언트 데이터 저장
  • Geolocation API로 위치 정보 제공
  • HTML5 Canvas로 2D 그래픽 구현
  • HTML5 Video로 비디오 재생 지원
  • Offline Application Cache로 오프라인 웹 앱 구현

WebView를 통해 HTML5의 다양한 기능을 활용할 수 있습니다. 이제 WebView에서 다양한 HTML5 기능을 자유롭게 사용할 수 있습니다. 다음 글에서는 WebView에서 파일 업로드 및 다운로드 처리 방법에 대해 다루겠습니다.

반응형