Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Among 8
Among 8
El framework Android permite, gracias a la clase WebView, incluir páginas HTML en el interior de una
aplicación.
Esta clase utiliza el WebKit de Android para mostrar páginas HTML, el historial, tratar código JavaScript,
hacer zoom, etc.
Puede mostrar una página web remota, una página almacenada de manera local en el dispositivo o,
simplemente, incluir código HTML.
A continuación, hay que crear una actividad que permita asociar la vista declarada anteriormente con
la actividad y especificar la URL que el WebView debe cargar.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Puede especificar la URL mediante el método loadUrl, accesible desde la instancia de la clase
WebView.
A continuación se muestra un ejemplo que obtiene los parámetros de un WebView para mostrar los
botones de zoom (setBuiltInZoomControls) y permitir la ejecución de JavaScript
(setJavascriptEnabled).
Para ello, sobrecargue el método onKeyDown. Compruebe que el clic se corresponde con el
botón de retorno y que la navegación no se encuentra en la primera página (que sea posible
acceder a una página anterior).
El objetivo del ejemplo siguiente es mostrar un toast Android mediante código JavaScript.
Para comenzar, cree una clase que represente la interfaz JavaScript. Existe un método que
permite mostrar un Toast.
JavaScriptToastInterface(Context c) {
context = c;
}
El segundo parámetro del método se corresponde con el identificador que tendrá esta interfaz en el
código HTML. Esto le permite añadir más interfaces JavaScript que tengan identificadores distintos.
<script type="text/javascript">
function showAndroidToast(toast) {
Android.showToast(toast);
}
</script>
Este fragmento de código representa un botón que ejecuta el método showAndroid presente en la
interfaz JavaScript.
Almacene este código HTML en una variable de tipo String y cárguela en el WebView mediante
el método loadData.
Obtendrá: