티스토리 뷰
수업 목표
- 안드로이드 앱에서 WebView의 역할을 이해한다.
- WebView를 화면에 배치하고 웹 페이지를 로드하는 기본 방법을 학습한다.
- 최소한의 코드로 외부 웹 사이트(네이버)를 앱 안에서 표시할 수 있다.
1. WebView 개념 이해

WebView는 안드로이드 앱 내부에서 웹 페이지를 표시하기 위한 UI 컴포넌트이다.
외부 브라우저(Chrome 등)를 실행하지 않고, 앱 화면 안에서 웹 사이트를 직접 보여주는 역할을 한다.
2. 인터넷 권한 설정
웹 페이지는 인터넷을 통해 불러오기 때문에, 안드로이드 앱은 인터넷 사용 권한을 반드시 선언하여야 한다.
AndroidManifest.xml 수정
AndroidManifest.xml 파일을 열고 <manifest> 태그 바로 아래에 다음 한 줄을 추가한다.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET"/>
3. 디자인 화면 열기 :레이아웃에 WebView 배치
* 초보자 단계에서는 WebView 하나만 화면에 배치하는 것이 가장 안전하다.
- activity_main.xml 파일을 연다.
- 상단 탭에서 Design 또는 Split 모드를 선택한다. Code만 보이는 상태에서는 Palette가 보이지 않는다.
- 왼쪽에 보이는 영역이 Palette(팔레트)에서 Widgets > Webview
Palette
└─ Widgets
└─ WebView
또는 Palette 상단 검색창에 web 입력하여 바로 찾을 수 있다.

4. 마우스로 가운데 미리보기 화면으로 드래그 앤 드롭한다. 화면에 큰 사각형이 생기면 WebView가 추가된 것이다. 왼쪽 Component Tree에 WebView가 보이면 성공이다.
5. WebView 속성 설정
- id → web
- layout_width → match_parent
- layout_height → match_parent
이렇게 하면 화면 전체를 차지하는 WebView가 된다.
4. Kotlin 코드 작성 (MainActivity.kt)
MainActivity.kt에서 다음 순서로 코드를 작성한다.
- 화면에 있는 WebView를 id로 연결한다.
- WebViewClient를 설정하여 웹 페이지가 앱 안에서 열리도록 한다.
- JavaScript 사용을 허용한다.
- 웹 주소(URL)를 로드한다.
이 네 단계는 WebView 사용의 기본 공식이다.
WebView 연결 → WebViewClient 설정 → JavaScript 허용 → URL 로드
package com.example.sample_webview
import android.os.Bundle
import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// 1. 레이아웃에 있는 WebView를 불러온다
val web: WebView = findViewById(R.id.web)
// 2. 웹 페이지가 앱 안에서 열리도록 설정한다
web.webViewClient = WebViewClient()
// 3. JavaScript 사용을 허용한다
web.settings.javaScriptEnabled = true
// 4. 네이버 웹 페이지를 불러온다
web.loadUrl("https://www.naver.com")
}
}
val web: WebView = findViewById(R.id.web)
→ XML에 있는 WebView를 Kotlin 코드에서 사용하기 위해 연결한다.
web.webViewClient = WebViewClient()
→ 링크를 눌렀을 때 외부 브라우저로 이동하지 않고 앱 안에서 열리게 한다.
web.settings.javaScriptEnabled = true
→ 네이버와 같은 사이트는 JavaScript를 사용하므로 이를 허용한다.
web.loadUrl("https://www.naver.com")
→ 실제로 웹 페이지를 로드하는 명령이다.
실행 결과
앱을 실행하면 다음이 확인되어야 한다.
- 흰 화면이 아닌 네이버 웹 페이지가 표시된다.
- 주소 입력 없이 자동으로 네이버가 열린다.
이 상태면 이번 회차 목표는 달성이다.
728x90
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
반응형