Generalidades

Falta la guía de Android WebView

Falta la guia de Android WebView Autor AbdElraouf Sabri

¿Webview no es compatible con las funciones que usted o su equipo desean? No importa, lo apoyaremos juntos.

Dado que somos desarrolladores ocupados, no perderé su tiempo.

Si desea realizar alguna de las siguientes acciones:

  1. Envía datos desde Android a una aplicación web.
  2. Reciba datos de una aplicación web en Android.

Entonces este artículo es para ti, sigue leyendo, de lo contrario, también puedes leerlo, no te vendrá mal.

Supongamos que tengo algunas aplicaciones web que necesitan pasar algunos datos, por ejemplo:

  • Llamar a la función de JavaScript
  • Enviar cadena u objeto JSON

Ok empecemos

Tengo el siguiente diseño XML

prerrequisitos

Además, no olvide agregar permisos de INTERNET

Permítanos habilitarAumentoUse JavaScript en webview y cargue mi página personalizada alojada en mi cuenta de GitHub😃.

Ejecutemos la aplicación

Ahora que estamos listos, comencemos la inyección de código.

Supongamos que tengo una función de Javascript de la siguiente manera:

Por supuesto, puedes predecir el DOM

Todo lo que tenemos que hacer es ejecutar el siguiente código JavaScript

Afortunadamente, Android nos proporciona una forma de usar evaluateJavascript Funciones de WebView.

Entonces, todo lo que tenemos que hacer es llamar a esta función con el código JavaScript analizado correctamente.

Intentemos

Ahora hemos terminado. Profundicemos en el siguiente paso, recibir datos de la aplicación web.

Supongamos que tengo algunas aplicaciones web que necesitan proporcionar algunos datos al lado de Android, por ejemplo:

  • Enviar cadena
  • Activar código nativo
  • Navega a otra pantalla desde Android

Para implementar estas funciones, necesitamos realizar las siguientes operaciones

Una interfaz javascript es solo una interfaz kotlin, con una o más @JavascriptInterface Tenga en cuenta que esta función será visible desde el lado de JavaScript.

Ahora suponga que quiero mostrar mensajes nativos de Toast desde una aplicación web

Además, para que JavaScript llame a esta función, debe estar en un objeto.

En el fragmento de código anterior, creé un objeto vacío llamado Android Luego usa el nombre para definir la función en él. toast, Esta función acepta un parámetro message Lo llama a otro objeto llamado JsMediator Este es el ciclo que une nuestro código javascript al código kotlin. JsMediator Es la clave de mi interfaz javascript vinculante. Pobre de mí.

Puedes volver a leer el último párrafo, sé que te cuesta entenderlo.

Ahora bien, ¿cuándo llamamos a este método?

Como cualquier otra configuración de vista de Android, debemos hacerlo después de que se crea la vista.Así que vinculamos la interfaz a onCreate En actividad o onViewCreated En el fragmento.

Este paso es Requerido Hágale saber al mundo javascript que tengo un método llamado toast

Y la función de vinculación adjunta una interfaz a la tecla JsMediator

Quiero interceptar el paso de carga de la página e inyectar un intermediario para reenviar la llamada javascript Android.toast(message) Para el intermediario, definimos arriba

Entonces crearemos un CustomWebViewClient

Este código se inyectará en la mediación después de que la página comience a cargarse.

El código de configuración final para la vista web será

Aún no hemos terminado.

Todos somos buenos ciudadanos de Android, y debemos limpiar los recursos después de su uso. Esta parte es muy simple, vincular la interfaz y desvincularla en el método de ciclo de vida de vista apropiado.

Además, apliqué algunos principios de código limpio en el código. Todo esto y más, te dejo esta parte.

En este momento, debo terminar este artículo. Todo el código que utilicé para este tutorial está alojado en mi cuenta de GitHub🤗🤗

  1. Androide La aplicación está aquí
  2. Esta La aplicación web está aquí

En este artículo, hablé sobre cómo usamos las vistas web para obtener beneficios y cómo interactuar con ellas.

Tenga en cuenta que Webview es un arma de doble filo, debemos prestar atención al usarlos e incluso ejecutar javascript en ellos.Eso es lo mas Lagunas Desde. Tenga cuidado y codificación feliz.

Codificación feliz

LEER  ¿Usar Android Studio para configurar Flutter en Linux?Vea este consejo | Autor: Feri Lukmansyah | Junio ​​de 2021

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba