본문 바로가기

Kotlin

[Android] Kotlin - WebView 사용하기

Android에서 WebView를 사용하여 Web을 호출해보겠습니다.

 

1.  AndroidManifest.xml 에서 인터넷 권한을 추가합니다.

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

 

clear text error를 방지하기 위해 <application> 태그 안에 아래 코드도 입력해 주셔야 합니다.

android:usesCleartextTraffic="true"

 

 

2. activity_main.xml 파일에 WebView를 추가합니다.

 <WebView
        android:id="@+id/webView"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

 

 

3. MainActivity.kt onCreate 안에 아래 코드를 입력해줍니다.

webView.settings.javaScriptEnabled = true //자바 스크립트 허용

        webView.webViewClient = WebViewClient()
        webView.webChromeClient = WebChromeClient()
        //웹뷰에서 새 창이 뜨지 않도록 방지

        webView.loadUrl("https://www.google.co.kr/")

 

webView.loadUrl("") ""안에 열고자 하는 url를 입력해주시면 됩니다.

 

 

4. 뒤로가기 버튼 설정

여기서 마무리를 하시면 뒤로 가기 버튼을 눌렀을 때 어플이 종료가 됩니다. 

아래와 같이 웹사이트에서 뒤로 가기 할 곳이 있을 때 웹사이트 뒤로 가기를 해주시고 그렇지 않으면 백버튼으로 종료되게끔 해주시면 됩니다.

override fun onBackPressed() {
        if(webView.canGoBack())
        { // 웹사이트에서 뒤로가기
            webView.goBack() // 웹사이트 뒤로가기
        }

        else
        {
            super.onBackPressed() // 백버튼
        }
    }