Android 4. Javascript, Html5 y Css3
Android 4. Javascript, Html5 y Css3
Introducción
INTRODUCCIÓN
Internet aporta un medio tanto para el desarrollo empresarial como el social. Las tecnologías
asociadas a la web han permitido el auge de todo tipo de sitios como como comercio electrónico o e-
comerce que está constituido en la compra y venta de productos y/o servicios mediante medios
electrónicos. También entre muchos otros tenemos las redes sociales donde se puede compartir
m
co
e.
in
nl
no
io
ac
rm
fo
ur
es
.c
os
ad
i fic
rt
ce
certificados.cesurformaciononline.com
1 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
Objetivos
OBJETIVOS
m
co
e.
in
nl
no
io
ac
rm
fo
ur
es
.c
os
ad
i fic
rt
ce
certificados.cesurformaciononline.com
2 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
Mapa Conceptual
m
co
e.
in
nl
no
io
ac
rm
fo
ur
es
.c
os
ad
i fic
rt
ce
certificados.cesurformaciononline.com
3 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
Javascript.
Introducción
Desde que la conexión a Internet en los hogares se volvió algo común, los tipos de servicios y su
número ha aumentado en gran medida, tiendas on-line, foros, redes sociales, blogs, sistemas de
mensajería, servicios de streaming ... .Por tanto, y como respuesta a ello, las tecnologías asociadas a
las páginas web ha mejorado progresivamente, apareciendo nuevas formas de añadir interactividad
m
y de crear aplicaciones.
co
e.
Pero estas aplicaciones van más allá, ya que no solo las encontraremos en Internet sino que cada día
in
son más utilizadas en las denominadas intranets empresariales que utilizan una red de ordenadores
nl
privados para compartir dentro de una organización parte de sus sistemas de información y sistemas
no
operaciones. Esto se debe a que su mantenimiento se centra en el servidor, y el soporte y
io
distribución no esta condicionado por la configuración de cada equipo en la red corporativa.
ac
rm
fo
ur
es
.c
os
ad
i fic
rt
ce
En este curso utilizaremos tecnologías que nos permitirán desarrollar este tipo de aplicaciones.
certificados.cesurformaciononline.com
4 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
Entorno Cliente/Servidor
El cliente, como respuesta a las acciones del usuario, se encarga de solicitar y mostrar al
m
co
Programación del lado del cliente
e.
Esquema de modelo Cliente/Servidor:
in
nl
no
io
ac
rm
fo
ur
es
.c
os
ad
fic
La programación del lado del cliente es aquella ejecutada por la aplicación cliente, es decir
i
rt
Para conseguir programar en el lado del cliente, los navegadores ofrecen entornos para la ejecución
quiere decir que no es compilado y se ejecuta por un intérprete, en el caso de la web está integrado
en el navegador.
certificados.cesurformaciononline.com
5 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
m
co
e.
Los navegadores nos ofrecen una serie de objetos y funciones para poder acceder a información y
in
nl
manipular la estructura de la página. Esta estructura se representa a través de lo que denominamos
no
DOM (Document Object Model) del que hablaremos más adelante, de esta manera es posible
io
conseguir páginas interactivas, superando así las limitaciones de HTML.
ac
Etc.
i fic
rt
Como hemos comentado Javascript es un lenguaje interpretado y no tipado, esto nos permite una
gran flexibilidad a la hora de desarrollar aunque también puede derivar en errores más frecuentes.
Variables
certificados.cesurformaciononline.com
6 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
Arrays y objetos
Al ser un lenguaje no tipado podemos meter cualquier cosa. Accedemos y añadimos valores:
m
nuestroArray.push('prueba');
alert(nuestroArray[2])
co
e.
Y podemos crear un objeto de esta forma:
in
nl
var unObjeto = {};
var otroObjeto = {'propiedad1': 90, 'propiedad2': 'adios'};
no
También podemos añadir propiedades y acceder a ellas de dos formas:
io
ac
unObjeto.propiedad0 = 222;
rm
unObjeto['propiedad1'] = 876;
fo
Podemos usar un objeto como si fuera un array en ciertos aspectos, esto se debe a que los arrays se
ur
consideran objetos, el punto y los corchetes son maneras válidas de acceder a propiedades.
es
Funciones
.c
os
return p1 * p2;
}
i
rt
ce
Una función se identifica solo por su nombre, si se escribe otra función multiplica con parámetros
función, podríamos llamar a la anterior función con parámetros de más y solo cogería los dos
primeros, si no se pasa ningún parámetro estos tendrán valor undefined y podrían provocar un error
dentro de la función.
También disponemos de una variable con un array denominada arguments que nos permite iterar
certificados.cesurformaciononline.com
7 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
Un objeto también puede tener funciones y acceder a sus propiedades con la palabra this, y,
m
co
El ámbito de una variable (scope en inglés) es la zona del programa en la que se define la variable.
e.
JavaScript define dos ámbitos para las variables: global y local.
in
nl
//Variables globales
var mensaje1 = "Mensaje de prueba 1";
no
var mensaje2 = "Mensaje de prueba 2";
function muestraMensaje() {
io
ac
//Variable local a la función
var otroMensaje = "Otro mensaje de prueba";
rm
//Si lo definimos una con el mismo nombre con var no accedemos a la global
var mensaje2 = "Este es distinto al global";
fo
alert(otroMensaje);
}
es
muestraMensaje();
.c
os
alert(mensaje1);
alert(mensaje2);
ad
Podemos acceder a variables declaradas en un ámbito superior y declarar nuestras locales aunque
fic
Tenemos las mismas estructuras disponibles en otros lenguajes como for, while, do-while, if, else...
certificados.cesurformaciononline.com
8 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
for(i in dias) {
m
console.log(dias[i]);
co
}
e.
DOM
in
nl
El Modelo de Objetos del Documento (DOM) es una API para documentos HTML y XML. Este
no
define la estructura lógica de los documentos y el modo en que se accede y manipula un documento.
io
En la especificación del DOM, el término "documento" se utiliza en un sentido amplio. XML se utiliza
ac
cada vez más como un medio para representar muchas clases diferentes de información que puede
rm
tradicionales, más como datos que como documentos. Sin embargo, XML presenta estos datos como
ur
Con el DOM los programadores pueden construir documentos, navegar por su estructura, y añadir,
os
modificar o eliminar elementos y contenido. Se puede acceder a cualquier cosa que se encuentre en
ad
un documento HTML o XML, y se puede modificar, eliminar o añadir usando el DOM, salvo algunas
fic
excepciones. En particular, aún no se han especificado las interfaces DOM para los subconjuntos
i
Uno de los objetivos más importantes del DOM es aportar una interfaz estándar que se pueda
utilizar en gran variedad de aplicaciones y entornos. El DOM está diseñado para ser utilizado en
cualquier lenguaje de programación. Para proporcionar una especificación de las interfaces DOM
certificados.cesurformaciononline.com
9 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
m
co
e.
in
Su HTML es el siguiente:
nl
no
io
ac
rm
fo
ur
es
.c
os
ad
Como podemos ver, la imagen superior es una representación jerárquica del código mostrado.
i fic
rt
ce
Para realizar este curso podremos utilizar varias herramientas, pero sobre todo recomendaremos
dos.
Una más fácil de usar como Notepad++ en el cual podremos probar código simple y hacer los
primeros ejercicios y algún IDE (Entorno de Desarrollo) como por ejemplo NetBeans o Eclipse para
certificados.cesurformaciononline.com
10 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
http://notepad-plus-plus.org/download
https://github.com/notepad-plus-plus/npp-usermanual
m
http://netbeans.org/downloads/
co
e.
Y aquí su manual:
in
https://netbeans.org/project_downloads/usersguide/UsingNetBeans5.0.pdf
nl
no
Hay que destacar que la programación web por parte del cliente puede resultar un poco más simple,
io
por lo que podemos utilizar el Notepad++, pero por emde, al programar en el lado del servidor
ac
(PHP, ASP .NET, Etc.) es recomendable usar el IDE o el entorno de programación.
rm
fo
Hay que decir que este curso no es un curso de programación ni de diseño de páginas web por lo
es
que vamos a dar algunas recomendaciones para poder seguir el curso con fluidez.
.c
os
Deberá conocer HTML para entender el código básico de las páginas web.
ad
fic
http://profesores.fi-b.unam.mx/cintia/Manualhtml.pdf
i
rt
ce
fundamentales.
Deberá tener conocimientos de bases de datos. Conceptos como tabla, relación, consulta, SQL,
https://desarrolloweb.com/manuales/tutorial-sql.html
certificados.cesurformaciononline.com
11 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
Vamos a realizar un pequeño ejercicio utilizando HTML y Javascript. Este ejercicio consiste en la
creación de una aplicación la cual saludará al usuario cuando este escriba su nombre en una caja de
texto.
Comenzaremos creando un proyecto vacío y después crearemos un fichero .HTML el cual va a ser el
m
Index.html
co
e.
in
nl
no
io
ac
Este fichero cuenta con una caja de texto en la cual escribiremos un nombre y un botón que será el
rm
que envíe los datos. Además de este también crearemos un fichero .JS el cual guardará el código
fo
javascript.
ur
es
App.js
.c
os
ad
fic
Ambos ficheros los guardaremos en un mismo directorio dentro de la aplicación, ya que más
i
rt
En nuestro fichero activity_main.xml vamos a añadir un objeto “WebView”, el cual nos permitirá
mostrar el contenido de una página web como parte del diseño de una actividad. Es recomendable
que este objeto ocupe la pantalla completa para que se aprecie mejor.
certificados.cesurformaciononline.com
12 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
activity_main.xml
m
co
e.
Y por último, vamos a utilizar en el fichero MainActivity.java las utilidades “findViewById”,
in
“getSettings”, “setWebChromeClient” y “loadUrl”, todas ellas pertenecientes a WebView. Estas
nl
permitirán que busquemos a través de Internet o en local una Url o ruta que definamos.
no
MainActivity.java io
ac
rm
fo
ur
es
.c
os
ad
i fic
rt
ce
Con esto ya podemos arrancar la aplicación y comprobar que se muestra nuestra web al iniciarla.
certificados.cesurformaciononline.com
13 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
m
co
e.
in
nl
no
Si no aparece la web compruebe que ha escrito correctamente la ruta asociada a su directorio en
io
webView.loadUrl dentro del fichero MainActivity.java y vuelva a ejecutarla.
ac
rm
Elige las respuestas correctas. Las páginas webs están sujetas a una interaccion
fo
cliente/servidor donde:
ur
El servidor, como respuesta a las acciones del usuario, se encarga de solicitar y mostrar
es
certificados.cesurformaciononline.com
14 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
HTML5
Introducción HTML
HTML siglas de Hyper Text Markup Language, es el lenguaje más utilizado para la creación de
encargan de leer documentos basados en este lenguaje y generar una vista para el usuario.
m
Este lenguaje está reconocido como estándar y sus normas están definidas por el organismo oficial
co
W3C, World Wide Web Consortium. Este organismo lo define “un lenguaje reconocido
e.
universalmente y que permite publicar información de forma global”.
in
nl
Este lenguaje es muy simple y sirve para definir otros lenguajes que tienen que ver con el formato
no
de un documento. El texto en él se crea a partir de etiquetas, también llamadas tags, que permiten
Historia de HTML
rm
fo
El origen de este lenguaje se remonta al año 1980, Tim Beners-Lee, trabajador de la Organización
ur
ciertos documentos.
.c
os
Este sistema ya se había desarrollado antes, el cual ofrecía que los usuarios accedieran a la
ad
información relacionada con los documentos electrónicos que estaban viendo. Tras desarrollar el
sistema, Tim Beners y el ingeniero Robert Cailliay publicaron la propuesta a la llamada World Wide
fic
Web (W3).
i
rt
ce
En 1991 se presentó el documento oficial bajo el nombre de “HTML Tags”, se hicieron varios
intentos para conseguir que HTML fuera un estándar, en 1993 se presentó ante la IETF ( Internet
Engineering Task Force), el lenguaje HTML reformado con algunas etiquetas nuevas para imágenes,
tablas y formularios.
Lenguaje de etiquetas
Uno de los retos cuando se realizó este lenguaje fue como se iba a almacenar la información. Con los
primeros archivos era fácil porque solo contenían texto sin formato, se codificaban las letras del
certificados.cesurformaciononline.com
15 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
cada tabla que se define para realizar la transformación se conoce como página de código. Una de
Una vez resuelto el problema de almacenamiento las preguntas eran las siguientes ¿cómo
almacenamos ahora el texto en negrita? ¿Y en color rojo? ¿Y otro texto en azul y cursiva?
m
Ya no se podía aplicar la conversión que se utilizaba para texto sin formato, ya que existen infinitas
co
posibilidades de estilos en un texto. Una solución era almacenar una zona reservada para donde
e.
in
comienza y donde termina cada formato.
nl
La solución que realmente se utiliza para guardar información con formato es guardar los
no
contenidos sobre el formato de estos. Por ejemplo:
io
ac
rm
fo
ur
Este proceso para indicar las partes en las que se compone el documento se denomina marcado,
es
cada palabra que se emplea para marcar inicio y fin se define como etiqueta.
.c
os
Estas etiquetas se abren con el carácter < nombre de la etiqueta sin espacios en blanco y se cierra
ad
con >. Las etiquetas de apertura serían < p > y las de cierre serian igual pero añadiendo el carácter
fic
/, < / p >.
i
rt
es que son sencillos de leer y escribir por parte de personas y de los sistemas electrónicos.
Las páginas HTML se dividen en dos partes: la cabecera (head), el cuerpo (body).
certificados.cesurformaciononline.com
16 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
m
co
e.
in
nl
no
io
ac
rm
fo
ur
es
.c
Etiquetas y atributos
os
ad
HTML define 91 etiquetas que se pueden utilizar para marcar los diferentes componentes de la
fic
página. Algunas etiquetas ya se consideran obsoletas como por ejemplo: applet, basefont, center,
i
A pesar de existir tantas etiquetas, no es suficiente para crear páginas complejas. Algunos elementos
como imágenes y enlaces necesitan más información adicional. A esa información se le llama
atributos.
Un ejemplo de esto sería la etiqueta a, que sirve para indicar los enlaces, si colocamos solo esa
etiqueta no nos llevará a ningún sitio, necesitaremos ponerle una url con el atributo href para que
certificados.cesurformaciononline.com
17 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
m
co
e.
in
nl
no
io
No todos los atributos se pueden utilizar en todas las etiquetas, cada etiqueta define su propia lista
ac
HTML
.c
os
class=”texto”: Establece la clase CSS que se aplica a los estilos del elemento.
ad
Elementos HTML
Además de etiquetas y atributos, también existe el término elemento para referirse a las partes que
“etiquetas”, en realidad si tenemos dos párrafos en un documento HTML, tendríamos dos elementos
y cuatro etiquetas p.
HTML clasifica todos los elementos en dos grupos: elementos en línea (inline) y elementos de bloque
(block). La diferencia entre estos es que el de bloque siempre empiezan en una nueva línea
certificados.cesurformaciononline.com
18 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
ocupándola hasta el final y los elementos de tipo línea ocupan el espacio necesario.
m
co
e.
in
nl
no
Elementos de bloque (block) io
ac
Se le puede asignar una anchura (width) y una altura (height) utilizando css.
ad
fic
Estos son los elementos que son por defecto de tipo block:
i
rt
ce
certificados.cesurformaciononline.com
19 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
m
co
e.
in
nl
no
io
ac
rm
Cuando se creo HTML, el lenguaje era muy permisivo y eso provocaba que el código HTML quedara
ur
certificados.cesurformaciononline.com
20 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
m
co
e.
Todas las etiquetas deben cerrarse siempre: en el caso de etiquetas que no encierren texto se
in
deberá poner < etiqueta />:
nl
no
io
ac
rm
Antes de acceder al valor de un atributo se deben eliminar todos los espacios en blanco
es
innecesarios, salvo para identificar diferentes palabras (solo un espacio entre palabras).
.c
El código JavaScript debe encerrarse entre caracteres especiales < ! [ CDATA[ ] ] > ( ya
os
Un documento HTML se basa en un fichero de texto plano, para ello necesitamos un editor de texto
plano, como por ejemplo Notepad++, que por defecto nos abre directamente ya una nueva hoja para
insertar código. Lo único que tendremos que hacer es escribir nuestro código.
Una vez escrito nuestro código lo único que tendremos que hacer es irnos al menú principal y hacer
clic sobre Archivo > Guardar Como… y se nos abrirá la siguiente ventana para que elijamos donde
certificados.cesurformaciononline.com
21 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
m
co
e.
in
nl
no
io
ac
rm
Como vemos en la imagen, nos pide el nombre y el tipo de fichero, el nombre recomiendo que no
fo
tenga espacios ya que si después necesitamos hacer referencia a él, no tendremos problemas y
ur
después en el tipo tendremos que seleccionar Hyper Text Marckup Language (.html).
es
.c
os
ad
Podemos ver fácilmente como se muestra el contenido de nuestro fichero, solo con ir a la ruta donde
fic
hemos guardado el archivo y hacer clic con el botón derecho sobre el archivo, abrir con y
i
rt
Al ser un fichero estático no hay problema con este método, en cambio hay tecnologías para generar
certificados.cesurformaciononline.com
22 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
Formularios en HTML
Un formulario es un conjunto de controles como pueden ser cajas de texto, casillas de verificación o
botones que permiten al usuario introducir datos y enviarlos al servidor web para su procesamiento.
m
Action: contiene un nombre del agente que procesará los datos enviados al servidor (como por
co
ejemplo a un script de PHP).
e.
Method: define la manera de enviar los datos al servidor. Los valores posibles son:
in
Get: los valores enviados se añaden a la dirección indicada en el atributo action.
nl
no
Post: los valores se envían de forma separada.
io
ac
Cuando el atributo method no está establecido el formulario se comporta como si el valor fuera get.
rm
Introducción HTML5
HTML5 como su propio nombre indica es la 5ª revisión del estándar HyperText Markup Languaje y
certificados.cesurformaciononline.com
23 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
su versión final se publicó en Octubre de 2014. Esta nueva versión tiene importantes novedades
respecto a las anteriores, ya que incorpora nuevos elementos para adaptarse a las nuevas
Novedades de HTML5
Ya hemos visto anteriormente como es un documento HTML básico y que en HTML5 no se define un
DTD. Otra de las novedades es como definimos que codificación de caracteres tiene nuestro
m
documento, es tan simple como definirlo con una etiqueta <meta>en el<head>:
co
e.
in
nl
no
También se han añadido nuevos elementos semánticos como:<header> para la cabecera de la
io
ac
página,<footer> para el pie de página,<article> un artículo en el documento y <section>.
rm
certificados.cesurformaciononline.com
24 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
También, los formularios (<form>) disponen de nuevos atributos como number, date, time, calendar
y range. Además, podemos definir elementos gráficos con <svg> y <canvas>, y elementos
Además, con su nueva versión, al contrario que con versiones anteriores donde el lenguaje HTML se
ajustaba al comportamiento del navegador, ahora son los navegadores los que en sus nuevas
m
En el siguiente enlace se explican todos los elementos que se añaden para esta nueva versión:
co
https://www.w3schools.com/html/html5_new_elements.asp
e.
in
Creación de una aplicación con HTML5
nl
no
Para utilizar una página web con HTML5 en nuestra aplicación debemos realizar el mismo
io
procedimiento que en el tema anterior, crearemos un objeto WebView en nuestro fichero
ac
activity_main.xml que ocupe la pantalla completa y después en MainActivity.java lo definiremos y
rm
certificados.cesurformaciononline.com
25 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
m
Y al arrancar la aplicación se mostrará de esta forma:
co
e.
in
nl
no
io
ac
rm
fo
ur
es
.c
os
ad
i fic
rt
ce
certificados.cesurformaciononline.com
26 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
CSS3
CSS es el lenguaje usado para definir la presentación de un documento estructurado HTML. CSS3 es
la nueva versión de CSS. Esta versión es totalmente compatible con las anteriores. ¿Y qué
Introducción a CSS
m
CSS es el lenguaje de hojas de estilo creado para controlar el aspecto y la presentación de las
co
páginas Web. Es imprescindible para la creación de páginas Web complejas.
e.
Este lenguaje separa la definición de los contenidos y la definición de su aspecto. Esto hace que
in
nl
mejore la validación de los documentos HTML y XHTML ya que mejora la accesibilidad, reduce la
no
complejidad del mantenimiento y permite visualizar el mismo documento en infinidad de dispositivos
diferentes. io
ac
Este lenguaje funciona mediante el uso de un selector (como pueden ser etiquetas o conjuntos de
rm
etiquetas HTML) que nos permiten identificarlos para después darles un valor a sus propiedades de
fo
diseño.
ur
es
Recordamos que una regla de CSS está formada por una parte llamada “selector” y la parte
.c
aplicar ese formato. Los selectores son imprescindibles para aplicar estos estilos.
ad
Una misma regla se puede aplicar a varios selectores y a un mismo selector se le pueden aplicar
fic
varias reglas. El estándar CSS 2.1 incluye una docena de tipos diferentes de selectores, estos
i
rt
Web. Aunque la mayoría de las Web se pueden diseñar utilizando solamente cinco tipos de
selectores.
Selector universal
Selecciona todos los elementos de la página. Este selector se indica a partir de un asterisco (*). Es
muy sencillo, pero raramente se aplica a todos los elementos de una página un estilo determinado.
certificados.cesurformaciononline.com
27 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
m
co
e.
in
nl
Selector de tipo o etiqueta
no
io
Selecciona todos los elementos HTML que su etiqueta coincida con el valor del selector. Solamente
ac
es necesario indicar el nombre de la etiqueta a la que queremos aplicarle ese estilo.
rm
fo
ur
es
.c
os
ad
i fic
rt
ce
Si queremos aplicar los mismos estilos a dos o más etiquetas diferentes, podemos encadenar los
certificados.cesurformaciononline.com
28 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
Selectores ID
A veces solo necesitamos cambiar el estilo a un único elemento, aunque podemos utilizar el selector
visto anteriormente (de clase), existe otro selector más eficiente para estos casos.
m
co
ID permite seleccionar un elemento a través de su atributo id. Este tipo solo selecciona un elemento
e.
porque el atributo id no se puede repetir. La sintaxis de este elemento es igual que el de las clases,
in
pero en vez de usar el “.” se usa “#”.
nl
no
io
ac
rm
fo
ur
es
.c
os
ad
fic
Al igual que el selector clase, nosotros podemos restringir el alcance del selector ID, aunque
i
rt
hayamos dicho antes que es único, puede que tengamos varias páginas HTML que tengan etiquetas
ce
con un mismo id, por esa razón si ponemos p#prueba2, también estaría bien escrito.
Es importante no confundir como hemos dicho antes p#prueba2, con p #prueba2 o p, #prueba2.
Colisiones de estilos
Es posible que tengamos a veces varias reglas que apliquen el mismo estilo a un determinado
elemento. CSS tienen un mecanismo de resolución de colisiones muy complejo y que tiene en cuenta
el tipo de hoja de estilo que se trate, la importancia de cada regla y lo específico que sea el selector.
certificados.cesurformaciononline.com
29 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
El método es:
Determinar todas las declaraciones que se aplican al elemento para el medio CSS seleccionado.
Ordenar las declaraciones según lo específico que sea el selector. Cuanto más genérico, menos
importancia tiene.
Si después de aplicar las normas anteriores existen dos o más reglas con la misma prioridad, se
m
aplica la que se indicó en último lugar.
co
e.
Recomendaciones
in
nl
Se recomienda el uso de unidades relativas, mejora la accesibilidad de la página y permite que los
no
documentos se adapten fácilmente a cualquier medio y dispositivo.
io
El documento de recomendaciones sobre técnicas CSS para mejorar la accesibilidad de los
ac
unidad em para indicar el tamaño del texto y para todas las medidas que sean posibles.
fo
ur
Normalmente se utilizan píxel y porcentajes para definir el layout del documento y em y porcentajes
es
Colores
os
Los colores en CSS se pueden indicar de cinco formas diferentes: palabras clave, colores del
ad
sistema, RGB hexadecimal, RGB numérico y RGB porcentual. Aunque el método más habitual es el
fic
B(blue), “background-color:#ff0000;”
Colores RGB: se definen mediante rgb(red, green,blue) y pueden ser definidos mediante
Colores RGBA: Igual que el anterior, pero al final se le añade un número más, con él indicamos
Colores HSL: Significa matiz, saturación y luminosidad. El valor puede ser de 0-360 o también
certificados.cesurformaciononline.com
30 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
Colores HSLA: Igual que el anterior pero con la diferencia de que tiene un cuarto valor que es
para la transparencia, puede tomar valores que estén entre 0.0 (totalmente transparente) y 1.0
Colores predefinidos. Aquí tenemos una lista con los nombres de los colores en el navegador:
https://www.w3schools.com/colors/colors_names.asp
m
Introducción a CSS3
co
CSS es el lenguaje usado para definir la presentación de un documento estructurado HTML. CSS3 es
e.
la nueva versión de CSS. Esta versión es totalmente compatible con las anteriores. ¿Y qué
in
nl
aporta de nuevo CSS3?
no
- Nuevos selectores.
io
ac
- Técnicas de diseño avanzado: esquinas redondeadas, gradientes, múltiples imágenes de fondo, etc.
rm
Diseño responsive
ad
El diseño responsive o diseño adaptativo es todo aquel diseño que tiene la capacidad de adaptarse al
fic
tradicionales en los que las páginas web estaban diseñadas para un tamaño o formato específico.
ce
De esta manera maximizaremos la experiencia del usuario con todos los dispositivos, logrando así
que el usuario sienta que la aplicación está diseñada para su dispositivo, y no simplemente
adaptada.
Android Studio nos permite crear un diseño responsive de manera gráfica usando la paleta.
Vamos a crear un nuevo proyecto vacío y vamos a eliminar el texto TextView que aparece por
certificados.cesurformaciononline.com
31 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
"RelativeLayout":
m
co
e.
Con esto ya podemos comenzar a agregar nuevos elementos dentro de nuestro layout para que estos
in
nl
se ajusten a la pantalla cuando la giremos.
no
Vamos a insertar una caja de texto y un botón en la parte superior de la pantalla para que cuando la
io
giremos estos se posicionen de nuevo en la parte superior manteniendo unos márgenes:
ac
rm
fo
ur
es
.c
os
ad
i fic
rt
Después al arrancar la aplicación podemos comprobar como los elementos se encuentran en la parte
ce
superior de la pantalla:
certificados.cesurformaciononline.com
32 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
m
co
e.
in
nl
no
io
ac
certificados.cesurformaciononline.com
33 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
Recuerda
[[[Elemento Multimedia]]]
m
co
e.
in
nl
no
io
ac
rm
fo
ur
es
.c
os
ad
i fic
rt
ce
certificados.cesurformaciononline.com
34 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
Autoevaluación
Falso
m
Verdadero
co
e.
in
¿El siguiente codigo en Javascript es correcto?
nl
function unaFuncion(msg){
no
alert(msg);
}
io
ac
function ejecuta(func, param){
func(param);
rm
}
fo
ejecuta(unaFuncion, "hola");
ur
es
Si
.c
os
No
ad
fic
Depende de la versión
i
rt
ce
Falso
certificados.cesurformaciononline.com
35 / 36
[AFO018339] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[MOD016530] IFCT048PO APLICACIONES CON ANDROID Y HTML 5
[UDI096183] JAVASCRIPT, HTML5 Y CSS3.
Verdadero
HTML
m
co
JAVA
e.
in
CSS
nl
no
io
Indica si el siguiente enunciado es verdadero o falso: CSS es el lenguaje de hojas
ac
de estilo creado para controlar el aspecto y la presentación de las páginas Web.
Es imprescindible para la creación de páginas Web complejas.
rm
fo
ur
Falso
es
.c
Verdadero
os
ad
i fic
rt
ce
certificados.cesurformaciononline.com
36 / 36