Como crear un WebView en Android utilizando Kotlin

Como crear un WebView en Android utilizando Kotlin

Android WebView Kotlin Example

Hola amigos en esta ocasión les traigo este ejemplo de como utilizar el control WebView utilizando programación Kotlin. Sigue paso a paso este tutorial de Android Kotlin.

Crear Proyecto Android Kotlin Tutorial (Aquí)

Crearemos nuestro proyecto y le daremos suport para Kotlin así podremos seguir este ejemplo del control WebView.

Diseño WebView Kotlin Tutorial

Vamos a crear el diseño de nuestra aplicación para continuar y agregaremos los siguientes controles. Y podremos modificar el diseño a nuestro gusto pero para este ejemplo utilizando el WebView lo dejare así.


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_gravity="center"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <EditText
            android:id="@+id/uriText"
            android:text="@string/uri_default"
            android:layout_weight=".70"
            android:layout_width="0dp"
            android:layout_height="wrap_content" />
        <Button
            android:id="@+id/sendButton"
            android:text="@string/send_button"
            android:layout_weight=".30"
            android:layout_width="0dp"
            android:layout_height="wrap_content" />
    </LinearLayout>

    <WebView
        android:id="@+id/webview"
        android:layout_gravity="center"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    </WebView>
</LinearLayout>

Y el diseño se veria de la siguiente manera.
Ahora en nuestro MainActivity nuestra clase Kotlin añadiremos lo siguiente.

import android.net.Uri
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Evento del boton para ejecutar el WebView
sendButton.setOnClickListener {
loadWebpage()
}
}

//Funcion para construir la URL con https
@Throws(UnsupportedOperationException::class)
fun buildUri(authority: String): Uri {
val builder = Uri.Builder()
builder.scheme("https")
.authority(authority)
return builder.build()
}

// Funcion para lanzar la URL desde la etiqueta
fun loadWebpage() {
webview.loadUrl("")
val uri: Uri

try {
uri = buildUri(uriText.text.toString())
webview.loadUrl(uri.toString())
} catch(e: UnsupportedOperationException) {
e.printStackTrace()
}
}
}

En el archivo AndroidManifest.xml agregaremos el siguiente permiso para que nuestra aplicación tenga acceso a Internet utilizando el WebView.

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

Ahora en nuestro archivo String.xml añadiremos las siguientes etiquetas

<resources>
<string name="app_name">KotlinWebview</string>
<string name="uri_default">www.google.com</string>
<string name="send_button">Send</string>
</resources>

Crear Emulador AVD (Aquí)

Para terminar ejecutaremos nuestro proyecto para obtener el siguiente resultado.
Si tienes alguna duda déjanos tu comentario muchas gracias.

1 comentario: