WebView

Explicación del concepto de WebView.

Fuente: developer.android

DEFINICIÓN

Hereda de:

Herencia de WebView

Una View que presenta páginas web.

USO DESDE XML

<WebView
    android:id="@+id/wv"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

CONFIGURACIÓN

Para configurar un WebView hay que realizar varios pasos:

Solicitar permiso de Internet

En primer lugar se debe ir al AndroidManifest.xml y solicitar permisos para el uso de Internet. Esto se hace con la siguiente línea de código:

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

<application>
.....

Ejecutar el web Browser

Esto lo realizamos en el MainActivity.kt

package com.example.android.appdeejemplo

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.webkit.WebView

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val webView: WebView = findViewById(R.id.wv)
        val url = "http://www.google.es"
        webView.loadUrl(url)
    }
}

Activar Javascript

Para activar Javascript debemos hacer lo siguiente:

  • En primer lugar, crear una instancia de WebSettings.

val webSettings: WebSettings = webView.settings
  • Después, en esas WebSettings, activamos Javascript

webSettings.javaScriptEnabled = true
  • Por último, relacionamos estas WebSettings con nuestro WebView creando un WebViewClient:

webView.webViewClient = WebViewClient()

De esta manera nos queda:

MainActivity.kt
package com.example.android.appdeejemplo

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.webkit.WebSettings
import android.webkit.WebView
import android.webkit.WebViewClient

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val webView: WebView = findViewById(R.id.wv)
        val url = "http://www.google.es"
        val webSettings: WebSettings = webView.settings

        webSettings.javaScriptEnabled = true
        webView.webViewClient = WebViewClient()

        webView.loadUrl(url)
    }
}

Last updated