안드로이드 개발 Android WebView 로컬 HTML 파일 표현하는 방법

안드로이드 개발

안드로이드 개발 Android WebView 로컬 HTML 파일 표현하는 방법

 

환경: Android Studio

 

안드로이드에서 웹 페이지를 불러오고 싶다면 WebView 위젯을 사용해야 합니다. WebView URL 을 넘겨서 해당 사이트를 호출하는 것이죠. 그런데 외부에서 호출한 웹 사이트가 아닌 앱이 가지고 있는 html 파일을 어떻게 하면 WebView 로 불러 올 수 있을까요? 오늘은 앱에 있는 Local html 을 파일을 불러와서 WebView 에 표현하는 방법을 알아 보겠습니다.

 

보통 WebView 를 이용해서 외부 사이트를 불러오고 싶다면 다음과 같이 입력합니다. loadUrl() 함수에 사이드 주소를 넘기는 것이죠. 아래 결과 화면에 제 블로그가 나타났네요.

WebView wv = (WebView)findViewById(R.id.wvlocal);
wv.loadUrl("http://mainia.tistory.com");

 

이번에는 앱 안에 html 파일을 만들어서 WebView 로 불러 오겠습니다. 보통 자바 소스가 아닌 Resources 파일들은 app/src/main/res 아래 drawable, layout, values 등의 폴더에 저장합니다. 그런데 html 파일을 포함한 그 외의 데이터들은 app/src/main/assets 에 저장하는 것이 관례입니다. html 파일은 assets/www 폴더에 저장합니다. 해당 폴더를 가리키는 소스상 URL file:///android_asset/www 입니다. 그러니까 실제 폴더는 assets 지만 소스상에서는 android_asset 가 되는 것이죠. 그럼 assets/www 폴더에 index.html 파일을 만들어서 화면에 표현할 소스를 입력합니다

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr" />
<title>제목</title>
</head>
<body>

<p>Hello World!</p>

</body>
</html>

 

loadUrl() 함수에 사이트 주소 대신 file:/// 로 시작하는 문자열을 입력합니다. 앱 내부에 assets 폴더는 android_asset 로 접근할 수 있습니다

 

그림은 위에서 만든 HTML 파일을 WebView 에 표현한 결과 입니다. 이상으로 로컬 html 파일을 WebView 에 표현하는 방법에 대해 알아 보았습니다


저작자 표시 비영리 변경 금지
신고
Posted by 녹두장군