TutorialAndroid.com
AUG
23
Como programar un Webview
By:

Objetivo:

Vamos a aprender a crear nuestro primer Webview.

Hay varias formas de hacerlo,pero nos centraremos en la más simple, dando una pautas al final con configuraciones mas avanzadas.

Vemos un resultado final antes.

Ejemplo Webview por tutorialandroid

 

Código fuente java (/src/com.webview/Principal.java):

[sourcecode language=”java”]
package com.webview;

//importaciones necesarias
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class Principal extends Activity {

//Nuestra vista necesaria para la web
private WebView mWebView;

@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);

//asociamos
mWebView = (WebView) findViewById(R.id.webview);

//cargo un .html que he situado en la carpeta asset/ del proyecto
mWebView.loadUrl("file:///android_asset/ejemploWebview.html");
}

}
[/sourcecode]

 

Código fuente XML (/res/layout/main.xml):

[sourcecode language=”xml”]

android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>


android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Aplicacion ejemplo de un Webview"
android:padding="4dip"
android:textSize="16sp"
/>


android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
/>


[/sourcecode]

 

Código fuente HTML (/asset/ejemploWebview.html):

[sourcecode language=”html”]


Ejemplo Webview, Por TutorialAndroid.com

Este es un ejemplo de página web
con texto e imágenes y links.




height="128" width="128" border="0" alt="RSS"
title="http://www.tutorialandroid.com/feed/">

Link a la web
tutorialandroid.com

[/sourcecode]

 

Descárgate el código aquí

 

Opciones más avanzadas:

  • Visionar una web situada en internet (y no en nuestro proyecto).
    Para ello debemos sustituir la ruta de carga de la Url por la deseada en el código Java :
    [sourcecode language=”java”]
    mWebView.loadUrl("http://www.tutorialandroid.com");
    [/sourcecode]

    Y no se puede olvidar proporcionar de conexión a internet a la aplicacion en el Manifest.xml (como hijo del tag ):

    [sourcecode language=”java”]

    [/sourcecode]

  • Permitir más compatibilidad con componentes , tal y como Javascript, simulación de cliente Chrome,  o aparición de un zoom en caso de ser necesario.
    En este caso debemos añadir el siguiente código al método onCreate:
    [sourcecode language=”java”]
    webSettings.setSavePassword(false);
    webSettings.setSaveFormData(false);
    webSettings.setJavaScriptEnabled(true);
    webSettings.setSupportZoom(false);
    mWebView.setWebChromeClient(new MyWebChromeClient());
    mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo");
    [/sourcecode]
    Y definimos una clase, dentro de la nuestra (Principal.java):
    final class DemoJavaScriptInterface {

    [sourcecode language=”java”]
    final class DemoJavaScriptInterface {

    DemoJavaScriptInterface() {
    }

    /**
    * No es llamada en la interfaz. Crea un runnable para invocar
    * loadUrl en la hebra de la interfaz.
    */
    public void clickOnAndroid() {
    mHandler.post(new Runnable() {
    public void run() {
    mWebView.loadUrl("javascript:wave()");
    }
    });

    }
    }

    /**
    * "alerta" para javascript. Util para depurar javascript.
    */
    final class MyWebChromeClient extends WebChromeClient {
    @Override
    public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
    result.confirm();
    return true;
    }
    }
    [/sourcecode]

The post Como programar un Webview first appeared on Tutorial Android, aprende a programar en Android. .

Labels:
10
COMMENTS
Por: sergio
aug
4

Como se abre el proyecto? puedo abrirlo en el netbeans? me podrian ayudar porfa

Por: Fernando
jan
13

Hola, me a gustado mucho el tutorial, y me a servido de mucho.
Pero tengo una duda. ¿Cómo podría hacer para que al apretar un botón en la pantalla principal cargue la webView?

Muchas gracias.

Por: roser
dec
14

como abro el proyecto? no entiendo donde pongo despues?

Por: Gaston
nov
22

Hola Gonzalo. Tengo una web responsive y quiero convertirla en app. El webview me reconoce automaticamente el diseño responsive al mostrar la web? gracias!

Por: Alex
By:
Alex
oct
29

Disculpen no saben como permitir que mi aplicacion pueda abrir unicamente un sitio web? Digamos que quiero que abra twitter y no pueda ingresar a ningún otra página

Por: David
oct
12

en mi web tengo un video mp4 con html y no se reproduce.

Por: abel
By:
abel
apr
2

Hola Gonzalo primero felicitarte por tus tutoriales y pedirte si podriamos ponernos en contacto para me ayudaras y guiaras un poco en alguno aspectos si no te supone molestia
Un cordial saludo Abel

Por: Pifles
dec
18

Ante todo, gracias por los tutoriales,

es posible incorporar imagenes de nuestro proyecto?

Gracias

Por: Spock
nov
13

no me sale, tendrias un ejemolo del proyecto con eclipse a mano?

Por: Diego Franco
sep
25

En respuesta a Fapes .

revisa que en el Manifest.xml estes dando los permisos a internet, de otra manera no te aparecera, nada, tambien podrias checar la manera en que tramsmite tu webcam, ya que tienes que configurar de una u otra manera

Design a Mobile Site
View Site in Mobile | Classic
Share by: