miércoles, 4 de junio de 2014

Codigo HTML

HTML siglas de HyperText Markup Languagelenguaje de marcas de hipertexto»), hace referencia al lenguaje de marcado para la elaboración de páginas Web Es un estándar que sirve de referencia para la elaboración de páginas web en sus diferentes versiones, define una estructura básica y un código (denominado código HTML) para la definición de contenido de una página web, como texto, imágenes, etc.

Marcado HTML

El HTML se escribe en forma de «etiquetas», rodeadas por corchetes angulares  HTML también puede describir, hasta un cierto punto, la apariencia de un documento, y puede incluir o hacer referencia a un tipo de programa llamado script, el cual puede afectar el comportamiento de navegadores web y otros procesadores de HTML.


<!DOCTYPE HTML>
<html>
   <head>
     <title>Ejemplo1</title>
   </head>
   <body>
     <p>ejemplo1</p>
   </body>
</HTML>





  • <html>: define el inicio del documento HTML, le indica al navegador que lo que viene a continuación debe ser interpretado como código HTML. Esto es así de facto, ya que en teoría lo que define el tipo de documento es el DOCTYPE, que significa la palabra justo tras DOCTYPE el tag de raíz.
  • <script>: incrusta un script en una web, o llama a uno mediante src="url del script". Se recomienda incluir el tipo MIME en el atributo type, en el caso de JavaScript text/javascript.
  • <head>: define la cabecera del documento HTML; esta cabecera suele contener información sobre el documento que no se muestra directamente al usuario como, por ejemplo, el título de la ventana del navegador. Dentro de la cabecera <head> es posible encontrar:
    • <title>: define el título de la página. Por lo general, el título aparece en la barra de título encima de la ventana.
    • <link>: para vincular el sitio a hojas de estilo o iconos. Por ejemplo:<link rel="stylesheet" href="/style.css" type="text/css">.
    • <style>: para colocar el estilo interno de la página; ya sea usando CSS u otros lenguajes similares. No es necesario colocarlo si se va a vincular a un archivo externo usando la etiqueta <link>.
    • <meta>: para metadatos como la autoría o la licencia, incluso para indicar parámetros http (mediante http-equiv="") cuando no se pueden modificar por no estar disponible la configuración o por dificultades con server-side scripting.
  • <body>: define el contenido principal o cuerpo del documento. Esta es la parte del documento html que se muestra en el navegador; dentro de esta etiqueta pueden definirse propiedades comunes a toda la página, como color de fondo y márgenes. Dentro del cuerpo <body> es posible encontrar numerosas etiquetas. A continuación se indican algunas a modo de ejemplo:
    • <h1> a <h6>: encabezados o títulos del documento con diferente relevancia.
    • <table>: define una tabla.
      • <tr>: fila de una tabla.
      • <td>: celda de una tabla (debe estar dentro de una fila).
    • <a>: hipervínculo o enlace, dentro o fuera del sitio web. Debe definirse el parámetro de pasada por medio del atributo href. Por ejemplo: <a href="http://www.example.com" title="Ejemplo" target="_blank" tabindex="1">Ejemplo</a> se representa como Ejemplo).
    • <div>: división de la página. Se recomienda, junto con css, en vez de <table> cuando se desea alinear contenido.
    • <img>: imagen. Requiere del atributo src, que indica la ruta en la que se encuentra la imagen. Por ejemplo: <img src="./imágenes/mifoto.jpg" />. Es conveniente, por accesibilidad, poner un atributo alt="texto alternativo".
    • <li><ol><ul>: etiquetas para listas.
    • <b>: texto en negrita (etiqueta desaprobada. Se recomienda usar la etiqueta <strong>).
    • <i>: texto en cursiva (etiqueta desaprobada. Se recomienda usar la etiqueta <em>).
    • <s>: texto tachado (etiqueta desaprobada. Se recomienda usar la etiqueta <del>).
    • <u>: Antes texto subrayado. A partir de HTML 5 define porciones de texto diferenciadas o destacadas del resto, para indicar correcciones por ejemplo. (etiqueta desaprobada en HTML 4.01 y redefinida en HTML 5)[13] [14]
  • La mayoría de etiquetas deben cerrarse como se abren, pero con una barra («/») tal como se muestra en los siguientes ejemplos:
    • <table><tr><td>Contenido de una celda</td></tr></table>.
    • <script>Código de un script integrado en la página</script>.

    Entidades HTML

    Los caracteres especiales como signo de puntuación, letras con tilde o diéresis o símbolos de escritura del lenguaje se deben convertir en entidad HTML para mostrarse en un navegador. La siguiente es una lista de caracteres españoles y su correspondiente entidad HTML:


    CarácterEntidad HTMLCarácterEntidad HTML
    á&aacute;Á&Aacute;
    é&eacute;É&Eacute;
    í&iacute;Í&Iacute;
    ó&oacute;Ó&Oacute;
    ú&uacute;Ú&Uacute;
    ü&uuml;Ü&Uuml;
    ñ&ntilde;Ñ&Ntilde;
    ¡&iexcl;¿&iquest;






    Apéndice A. Cómo escribir código en JavaScript

    En este apéndice aprenderemos a insertar código JavaScript en nuestras páginas. Como sabemos, las páginas web se componen de código HTML (HyperText Markup Language), y para incluir el código Javascript utilizamos una marca HTML, <script>. Esta marca puede encontrarse en cualquier parte de la página web, tanto en el <head> como en el <body>. Aunque <script> es la forma más corta existen otras formas de definir código script. Por ejemplo <script language="JavaScript">. W3C recomienda utilizar el tag <script type="text/javascript">.
       
    <html>
       <head>
       <title>Esta es una pagina web</title>
       <script type="text/javascript">
               var mi_numero = 1;
               
               function calcula(numero) {
                       return numero + mi_numero;
               }
       </script>
       </head>
       <body>
       <script>
               document.write(calcula(1));
       </script>
       </body>
    </html>
    
    
    
    
    
    
    Este ejemplo mostrará un numero '2' en el navegador.
    Además, podemos especificarle el lenguaje en el que queremos programar. Existen otros lenguajes para navegador como Visual Basic Script y PerlScript, pero nosotros usamos Javascript porque es universal: todos los navegadores lo soportan, mientras que los otros dependen de la plataforma donde nos encontremos. Para indicar el lenguaje, podemos escribir lo siguiente:


       <script language="Javascript">
       
       </script>


    De esta forma indicamos el lenguaje a usar. Esto es necesario en el caso de que tengamos que usar lenguajes combinados en la misma página, como en el caso de que queramos enlazar una película flash con nuestra pagina web.


    Otra forma de escribir Javascript en una página web es utilizando los eventos de las etiquetas HTML. Las etiquetas HTML tienen varios "eventos" que responden a determinados sucesos, como por ejemplo el click del ratón, el envío de un formulario, o la carga de una página. Por ejemplo, si queremos que aparezca un mensaje al cargar la página que estamos viendo, haríamos algo como esto:


       <html>
       <head>
       </head>
       
       <body onload="alert('Hola, esto es una página web')">
       texto
       </body>
       </html>


    Esto hará que aparezca un mensaje nada más cargar la página web. También podemos aplicar estos eventos como enlaces, botones, imágenes, etc... Prácticamente cualquier etiqueta HTML soporta eventos como onclick, que permite responder a una pulsación del botón izquierdo del ratón.


       <html>
       <head>
       </head>
       
       <body>
       <a href="http://www.google.com/" onclick="alert('Vas a ir a Google')">Google</a>
       </body>
       </html>


    En este ejemplo vemos cómo al mismo tiempo que vamos a Google, el navegador nos avisa de lo que vamos a hacer antes de que ocurra. Este tipo de acciones se pueden usar para comprobar formularios antes de enviar los datos (e incluso, evitar su envío si no son correctos), comprobar dónde pinchamos en una imagen, etc..., observando los cambios en los objetos Javascript.
    Y una última manera de ejecutar código Javascript es adjuntando un archivo al código principal, de tal forma que podemos agrupar las funciones, clases y demás en un archivo, y reutilizar ese archivo tantas veces como queramos posteriormente. Un ejemplo puede ser éste:

    funciones.js:
       function saludo(nombre) {
               alert('Hola, ' + nombre);
       }



       Comenzando con HTML + CSS

    Este breve tutorial está pensado para aquellas personas que quieren comenzar a utilizar CSS y nunca han escrito una hoja de estilos CSS. No explica mucho sobre CSS. Se centra en cómo crear un archivo HTML, un archivo CSS y cómo hacer que los dos funcionen juntos. Una vez finalizado este tutorial, podréis leer cualquiera de los otros tutoriales para darle más estilo a los archivos HTML y CSS. También podréis utilizar un editor de HTML o CSS, para desarrollar sitios Web más avanzados. Al final del tutorial habrás hecho un archivo HTML como éste:
    El resultado será una página HTML, con colores y formato, todo desarrollado con CSS.
    Ten en cuenta que no quiero decir que sea bonita ☺
    Avanzado: Las secciones como ésta son opcionales. Contienen explicaciones adicionales del código HTML y CSS del ejemplo. El símbolo de “peligro”, situado al principio, indica que se trata de un material más avanzado que el resto.

    Paso 1: Escribir el código HTML

    Para este tutorial, te sugiero que utilices las herramientas más sencillas. Por ejemplo, Notepad (Windows), TextEdit (Mac) o HTML Kit, serán suficiente. Una vez comprendido lo básico, probablemente se quieran utilizar herramientas más complicadas, o incluso programas comerciales como Style Master, Dreamweaver o GoLive. Pero para el desarrollo de una primera hoja de estilos, es mejor no distraerse con características avanzadas de otras herramientas. No utilices procesadores de texto como Microsoft Word u OpenOffice. Con ellos, normalmente se generan archivos que los navegadores no pueden interpretar. Para HTML y CSS, lo único que necesitamos son archivos en texto plano. El paso 1 consiste en abrir tu editor de texto (Notepad, TextEdit, HTML Kit o el que desees), comenzar con una ventana vacía y escribir lo siguiente:   
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
    <html>
    <head>
      <title>Mi primera página con estilo</title>
    </head>
    
    <body>
    
    <!-- Menú de navegación del sitio -->
    <ul class="navbar">
      <li><a href="indice.html">Página principal</a>
      <li><a href="meditaciones.html">Meditaciones</a>
      <li><a href="ciudad.html">Mi ciudad</a>
      <li><a href="enlaces.html">Enlaces</a>
    </ul>
    
    <!-- Contenido principal -->
    <h1>Mi primera página con estilo</h1>
    
    <p>¡Bienvenido a mi primera página con estilo!
    
    <p>No tiene imágenes, pero tiene estilo.
    También tiene enlaces, aunque no te lleven a
    ningún sitio…
    
    <p>Debería haber más cosas aquí, pero todavía no sé
    qué poner.
    
    <!-- Firma y fecha de la página, ¡sólo por cortesía! -->
    <address>Creada el 5 de abril de 2004<br>
      por mí mismo.</address>
    
    </body>
    </HTML>
    
    En realidad, no es necesario escribir el código: puedes copiarlo    y pegarlo directamente en un editor.    
    Avanzado: La primera línea que aparece en el archivo HTML, le dice al navegador el tipo de HTML (DOCTYPE significa DOCument TYPE - en español: TIPO de DOCumento). En este caso, se trata de la versión 4.01 de HTML. Las palabras que se encuentran entre < y > se llaman etiquetas (tags) y, como puedes ver, el documento está entre las etiquetas <html> y </html>. Entre <head> y </head> hay espacio para diferentes tipos de información que no aparecerán en la pantalla. Hasta ahora, el documento sólo contiene el título pero posteriormente también se añadirá la hoja de estilos de CSS. El <body> es dónde se sitúa el texto del documento. En un principio, cualquier cosa que se coloque ahí será mostrado, excepto el texto que esté dentro de las siguientes etiquetas <!-- y -->, las cuales muestran el contenido situado en ese lugar como un comentario de referencia para nosotros mismos. El navegador la ignorará. De las etiquetas del ejemplo, <ul> crea una “lista desordenada”, es decir, una lista en la cual los elementos no están numerados. La etiqueta <li> indica el comienzo de un “elemento lista”. <p> es un “párrafo”. Y <a> es un “enlace”, que es lo que crea un hipervínculo.
    Código HTML mostrado en el editor de HTML Kit Editor mostrando el código HTML.
    Avanzado: Si quieres saber lo que significan los nombres que están entre <…>, un buen sitio para empezar es Comenzando con HTML. Realizaré algunos comentarios sobre la estructura de la página HTML que estamos utilizando de ejemplo.
    • “ul” representa una lista con un hipervínculo por cada elemento. Esto mostrará nuestro “menú de navegación del sitio” con enlaces a otras páginas (ficticias) del sitio Web. Supuestamente, todas las páginas de nuestro sitio Web tienen un menú similar.
    • Los elementos “h1” y “p” componen el único contenido de esta página, mientras que la firma al final (“address”) será la misma para todas las páginas del sitio.
    Observa que no he cerrado los elementos "li" y "p". En HTML (pero no en XHTML), se pueden omitir las etiquetas </li> y </p>, que fue lo que hice aquí, precisamente para hacer el texto más sencillo de leer. Pero si se prefiere pueden ser añadidas.
    Vamos a suponer que va a ser una página de un sitio Web que tendrán varias páginas similares. Como es frecuente en páginas Web, ésta tiene un menú con enlaces a otras páginas en el sitio ficticio, un contenido único y una firma. Ahora, selecciona “Guardar como…” del menú Archivo, ve hasta un directorio/carpeta donde quieras guardar el documento (el escritorio puede ser una opción) y guarda el archivo como “mipagina.html”. No cierres todavía el editor, lo necesitarás otra vez. Después, abre el archivo en un navegador de la siguiente forma: encuentra el archivo con tu administrador de archivos (Windows Explorer, Finder o Firefox) y haz clic, o doble clic, sobre el archivo “mipagina.html”. El archivo HTML debería abrirse en tu navegador predeterminado. (Si no se abre el documento, abre el navegador y arrastra el archivo sobre él). Como puedes ver, la página tiene un aspecto bastante aburrido...

    Paso 2: Añadir algunos colores

    Probablemente estés viendo texto negro sobre un fondo blando, pero esto depende de cómo esté tu navegador configurado. Para que la página tenga algo más de encanto podemos añadir algunos colores. (Deja el navegador abierto, lo utilizaremos más tarde). Comenzaremos con una hoja de estilo interna en el archivo HTML. Más adelante, pondremos el HTML y el CSS en archivos diferentes. La separación de estos archivos es recomendable ya que facilita la utilización de la misma hoja de estilo para diferentes archivos HTML: sólo tienes que escribir la hoja de estilo una vez. Pero en este paso, vamos a dejarlo todo en el mismo archivo. Necesitamos añadir un elemento <style> en el archivo HTML. La hoja de estilo estará en el interior de ese elemento. Volvamos entonces a la ventana del editor y añadamos las siguientes cinco líneas en la parte de la cabecera del archivo:   
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
    <html>
    <head>
      <title>Mi primera página con estilo</title>
      <style type="text/css">
      body {
        color: purple;
        background-color: #d8da3d }
      </style>
    </head>
    
    <body>
    
    
    Las líneas que tienes que añadir están marcadas en rojo. La primera línea dice que eso es una hoja de estilo y que está escrita en CSS ("text/css"). La segunda línea indica que hemos añadido estilo al elemento "body". La tercera línea establece el color del texto como morado y la siguiente línea lo que hace es darle al fondo una especie de amarillo verdoso.
    Avanzado: Las hojas de estilo en CSS están compuestas de reglas. Cada regla tiene tres partes:
    1. el selector (en el ejemplo sería: “body”), el cual le dice al navegador la parte del documento que se verá afectada por la regla;
    2. la propiedad (en el ejemplo, 'color' y 'background-color' son ambas propiedades), las cuales especifican qué aspecto del diseño va a cambiarse;
    3. y el valor ('purple' y '#d8da3d'), el cual da el valor para la propiedad.
    El ejemplo muestra que es posible combinar las reglas. Hemos establecido dos propiedades, por lo que podemos tener dos reglas separadas:
    body { color: purple }
    body { background-color: #d8da3d }
    
    ya que las dos reglas van a afectar al elemento body, sólo tenemos que escribir "body" una vez, y poner juntas las propiedades y valores. Para obtener más información sobre selectores, revisa el capítulo 2 de Lie & Bos.
    El fondo del elemento body será el fondo para todo el documento. A los otros elementos (p, li, address…) no se les ha dado ningún fondo en concreto, por lo que de forma predeterminada no tendrán ninguno (o serán transparentes). La propiedad 'color' establece el color del texto que se encuentra en el elemento body, pero los otros elementos que se encuentran dentro de body heredarán ese color, a no ser que se especifique lo contrario. (Más adelante añadiremos más colores). Ahora guarda el archivo (utiliza “Guardar” del menú Archivo) y vuelve a la ventana del navegador. Si haces clic en "Actualizar", la página "aburrida" que se mostraba al principio, pasará a ser una página con colores (pero aún sigue siendo muy aburrida). Aparte de la lista de enlaces que se encuentra al principio, el texto debería tener ahora el color morado sobre un fondo de color amarillo verdoso.
    Imagen de la página con color en Firefox Presentación de la página en el navegador tras añadirle colores.
    Avanzado: Los colores pueden especificarse en la CSS de formas diferentes. El siguiente ejemplo muestra dos de ellas: por el nombre (“purple”) y por el código hexadecimal (“#d8da3d”). Hay aproximadamente 140 nombres de colores y más de 16 millones de colores disponibles en código hexadecimal. Agregar un toque de estilo, ofrece más información sobre esos códigos.

    Paso 3: Añadir tipo de letra

    Otra cosa que es muy fácil de hacer es añadir diferentes tipos de letra para los diversos elementos de la página. Veamos el texto con el tipo de letra “Georgia”, excepto la cabecera h1, que irá con “Helvetica”. En la Web, nunca puedes estar seguro de los tipos de letra que los usuarios tienen en sus ordenadores, por lo que añadiremos algunas alternativas: si Georgia no está disponible, Times New Roman o Times también pueden valer, y si ninguna de esas está presente, el navegador puede utilizar cualquier otro tipo de letra con serifs. Si Helvetica no está, Geneva, Arial y SunSans-Regular son bastante similares, y si ninguna de estas funciona, el navegador puede escoge cualquier otro tipo de letra que no sea serif. Añade en el editor de texto las siguientes líneas:
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
    <html>
    <head>
      <title>Mi primera página con estilo</title>
      <style type="text/css">
      body {
        font-family: Georgia, "Times New Roman",
              Times, serif;
        color: purple;
        background-color: #d8da3d }
      h1 {
        font-family: Helvetica, Geneva, Arial,
              SunSans-Regular, sans-serif }
      </style>
    </head>
    
    <body>
    [etc.]
    
    Si guardas otra vez el archivo y haces clic en "Actualizar" en el navegador, deberían aparecer tipos de letra diferentes para el encabezado y para el otro texto.
    Imagén con los tipos de letra añadidos Ahora el texto tiene un tipo de letra diferente al del encabezado.

    Paso 6: Añadir una línea horizontal

    El último elemento a añadir en la hoja de estilo es una regla horizontal para separar el texto de la firma que se encuentra al final. Utilizaremos 'border-top' para añadir una línea punteada encima del elemento <address>:   
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
    <html>
    <head>
      <title>Mi primera página con estilo</title>
      <style type="text/css">
      body {
        padding-left: 11em;
        font-family: Georgia, "Times New Roman",
              Times, serif;
        color: purple;
        background-color: #d8da3d }
      ul.navbar {
        list-style-type: none;
        padding: 0;
        margin: 0;
        position: absolute;
        top: 2em;
        left: 1em;
        width: 9em }
      h1 {
        font-family: Helvetica, Geneva, Arial,
              SunSans-Regular, sans-serif }
      ul.navbar li {
        background: white;
        margin: 0.5em 0;
        padding: 0.3em;
        border-right: 1em solid black }
      ul.navbar a {
        text-decoration: none }
      a:link {
        color: blue }
      a:visited {
        color: purple }
      address {
        margin-top: 1em;
        padding-top: 1em;
        border-top: thin dotted }
      </style>
    </head>
    
    <body>
    [etc.]
    
    Ahora, ya hemos terminado de darle estilo a la página. Lo siguiente es ver cómo se pone la hoja de estilo en un archivo diferente para que de esta forma otras páginas puedan utilizar el mismo estilo.

    Paso 7: Poner la hoja de estilo en un archivo separado

    Ahora tenemos un archivo HTML con una hoja de estilo en su interior. Pero si nuestro sitio crece desearemos añadir más páginas que compartan el mismo estilo. Hay un método más adecuado que copiar la hoja de estilo dentro de cada página y que es: colocar la hoja de estilo en un archivo separado, haciendo que todas las páginas estén enlazadas a esa hoja. Para separar la hoja de estilo del archivo HTML, necesitamos crear otro archivo de texto, que esté vacío. Puedes escoger "Nuevo" del menú Archivo del editor para crear una ventana vacía. Después, corta y pega en la nueva ventana todo lo que hay dentro del elemento <style> del archivo HTML. No copies las etiquetas <style> y </style>. Éstas pertenecen a HTML, no a CSS. En la nueva ventana del editor, deberías tener la hoja de estilo completa:   
    body {
      padding-left: 11em;
      font-family: Georgia, "Times New Roman",
            Times, serif;
      color: purple;
      background-color: #d8da3d }
    ul.navbar {
      list-style-type: none;
      padding: 0;
      margin: 0;
      position: absolute;
      top: 2em;
      left: 1em;
      width: 9em }
    h1 {
      font-family: Helvetica, Geneva, Arial,
            SunSans-Regular, sans-serif }
    ul.navbar li {
      background: white;
      margin: 0.5em 0;
      padding: 0.3em;
      border-right: 1em solid black }
    ul.navbar a {
      text-decoration: none }
    a:link {
      color: blue }
    a:visited {
      color: purple }
    address {
      margin-top: 1em;
      padding-top: 1em;
      border-top: thin dotted }
    
    Elige “Guardar como…” del menú Archivo, comprueba que    está en el mismo directorio/carpeta que el archivo mipagina.html,    y guarda la hoja de estilo como “miestilo.css”.    Vuelve a la ventana que muestra el código HTML. Borra todo lo    que hay desde la etiqueta <style> hasta </style>, ambas    inclusive, y reemplázalo por un elemento <link> de la    siguiente forma:    
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
    <html>
    <head>
      <title>Mi primera página con estilo</title>
      <link rel="stylesheet" href="miestilo.css">
    </head>
    
    <body>
    [etc.]
    
    De esta forma, se le indicará al navegador que la hoja de estilo    se encuentra en el archivo llamado "miestilo.css". Al no    especificarse ningún directorio, el navegador mirará en el mismo    directorio en el que se encuentra el archivo HTML.    Si has guardado el archivo HTML y lo has actualizado en el    navegador, no deberías apreciar ningún cambio en el aspecto de la    página. Ésta sigue guardando el mismo estilo, pero ahora viene    establecido por el archivo externo.    
    El resultado final Resultado final
    El siguiente paso es poner ambos archivos, mipagina.html y miestilo.css, en vuestro sitio Web. (Quizá queráis primero cambiarlos un poco…), pero la forma de realizar esto depende de vuestro proveedor de Internet.

    martes, 25 de marzo de 2014

                               Estructura de una aplicación androide.
     
    Esta vez de vamos a echar un vistazo a la estructura de una aplicación Android, ya que es importante saber que es cada elemento antes de ponerse a programar.
    Para empezar, necesitaremos tener configurado Eclipse tal y como explicaba en mi anterior post de Introducción a android una vez que tengamos Eclipse y la SDK de Android configurados, es el momento de crear un proyecto Android.
    En Eclipse:
    File->New..-> Android Project
    En caso que no encontremos esa opción en la lista de proyectos, debemos de irnos a “Other…” y seleccionar “Android” a partir de ahí, tal y como se muestra en la figura.
    Imagen de selector de proyectos Android en Eclipse
    A continuación nos aparecerá una pantalla, en la que tenemos que introducir información sobre nuestro proyecto tales como el nombre del proyecto, el paquete que alojará las clases principales, el nombre de la clase principal (Activity name) y el nombre de la Aplicación que aparecerá en el emulador/dispositivo Android.
    Imagen de ventana creación de proyecto Android
    Acaba de aparecer un término nuevo, para aquellos que estén acostumbrados a trabajar en Java: Activity. Más adelante haré un detallado glosario de los términos que usa Android. Por ahora, con que tengamos en cuenta que una Activity es un elemento sobre el que se construye la aplicación y que tiene un ciclo de vida bastante complejo. Estas Activities son pantallas de la aplicación, en las que podemos cargar elementos de la interfaz de usuario y capturar eventos. También son los puntos entrantes de la aplicación y puede haber más de una Activity por proyecto.
    Pongamos un ejemplo para que se vea más claro.
    Supongamos que tenemos una aplicación de gestión de emails. Esta aplicación, tendrá 2 pantallas, una en la que podremos ver nuestros correos entrantes, y otra en la que podremos escribir nuestro correo para enviarlo. Cada una de estas pantallas es una Activity ya que tiene funcionalidades diferentes.
    Bueno, espero que haya quedado un poco más claro, de todas formas, estos términos irán apareciendo en los próximos tutoriales, así que ya os iréis acostumbrando a escucharlos y manejarlos.
    Continuemos por donde lo habíamos dejado: Acabamos de crear un proyecto Android, veamos que es lo que ha creado Eclipse.
    Imagen de Estructura de Proyecto Android
    En la imagen he desplegado las carpetas para que podamos ver su contenido de un solo golpe de vista.
    En la carpeta src podemos encontrar el código fuente de la aplicación. El sistema de paquetes es igual que el de java, se suele crear paquetes que alberguen clases con una misma funcionalidad, así el código es más legible. Ahora mismo tenemos las clases que ha creado Eclipse por defecto: deMalagana.java que es la clase principal y Activity de la aplicación, y la clase R.java.
    La clase R.java es muy peculiar, ya que nosotros no podemos modificarla manualmente, de hecho, se genera automaticamente cada vez que modificamos los ficheros de recursos. Esta clase se podría considerar el nexo de unión entre los recursos y el XML y las clases puramente Java. Ya veremos más adelante este tema.
    Si seguimos mirando la estructura, nos encontraremos con las librerías Android (android.jar), que nos dan toda la funcionalidad del sistema. Estas librerías dependen del SDK con el que estemos trabajando. Intentad siempre estar actualizados en este tema, para ello visitad regularmente la página de desarrolladores Android:
    Continuemos con los elementos del proyecto de Android.
    Nos encontramos ahora con la carpeta res, esta carpeta almacena, mediante un sistema de subcarpetas, los recursos de la aplicación, desde imágenes hasta los elementos .xml que compondrán el Interfaz de Usuario y la funcionalidad del mismo.
    Ahora mismo tenemos solo tres subcarpetas:
    drawable-> Aquí se almacenan todos los ficheros de imágenes.
    layout-> En esta carpeta se guardan los ficheros .xml que compondrán el interfaz de usuario
    values->Esta es una carpeta-un-poco-de-todo. Ahora mismo tenemos un fichero string.xml en el cual almacenamos todas las cadenas de texto que aparecerán en la aplicación, pero también podremos tener valores de atributos de los elementos de aplicación o los estilos de estos mismos elementos.
    Para terminar, tenemos el fichero AndroidManifest.xml indispensable en toda aplicación Android. En este fichero se almacenan los parámetros de configuración de la aplicación, desde los privilegios que le podemos asignar, hasta cual es la Activity principal.
    Documentación y ApiDemos       
     
                                                          Donde encontrar documentación

    Puedes encontrarl una completa documentación del SDK localmente en:
    …\adt-bundle-windows-…\sdk\docs\index.html
     
    Se incluye la descripción de todas las clases (Develop > Reference), conceptos clave y otro tipo de recursos. Esta documentación también está disponible en línea a través de Internet:
     
    Muchos de los recursos utilizados en este libro puedes encontrarlos en:
    Para resolver dudas puntuales sobre programación te recomendamos la Web de preguntas y respuestas:

    La aplicación ApiDemos

    Otra opción muy interesante para aprender nuevos aspectos de programación consiste en estudiar ejemplos. Con este propósito se ha incluido en el SDK de Android una aplicación, ApiDemos. Está formada por cientos de ejemplos, donde no solo podrás ver las funcionalidades disponibles en el API de Android, sino que además podrás estudiar su código.
    Para crear un proyecto con esta aplicación sigue los siguientes pasos: Selecciona File > New > Project… e indica Android Sample Project. Pulsa Next y aparecerá un cuadro de diálogo similar al siguiente:
     
    Has de seleccionar un nivel de API para crear el proyecto. A continuación selecciona uno de los proyectos de ejemplo: en nuestro caso ApiDemos. Pulsa Finish para crear el proyecto. 
    Si no ha habido ningún error ya puedes ejecutar ApiDemos. Verás como los diferentes ejemplos se organizan por carpetas. En el nivel superior tenemos:
    Accessibility: Aspectos de accesibilidad, como trackball, touch o texto a voz.
    Animation: Gran variedad de efectos y animaciones.
    App: Trabajando a nivel de aplicación con Activity, Alarm, Dialog, Service, etc.
    Content: Describe cómo leer datos desde ficheros, recursos y archivos XML.
    Graphics: Gran cantidad de ejemplos gráficos tanto en 2D como en 3D.
    Media: Reproducción de audio y vídeo con las clases MediaPlayer y VideoView.
    NFC: Ejemplos de uso de Near Field Communication.
    OS:   Servicios del sistema operativo. Incluye sensores, vibrador o envio de SMS.
    Preference: Varios ejemplos de uso de preferencias.
    Text: Diferentes ejemplos de manipulación y visualización de texto.
    Views: Android utiliza como elemento básico de representación la clase View (vista). Tenemos a nuestra disposición gran cantidad de descendientes de esta clase para representar una interfaz gráfica (botones, cajas de texto, entradas...). Visualiza estos ejemplos para mostrar las diferentes posibilidades.
    Una vez seleccionado un ejemplo, si quieres estudiar su código, búscalo en la carpeta src. Para organizar mejor el código se han creado diferentes espacios de nombre de paquetes.
     

    NOTA: En algunas versiones del SDK, al compilar ApiDemos, aparecen errores de compilación. Para solucionarlo, puedes probar con otra versión de o intenta corregir los errores. 
    NOTA: Si cuando ejecutas la aplicación no te deja y te indica el siguiente error:
          
    Ocurre porque una aplicación con el mismo nombre de paquete (com.example.android.apis) ya existe y además ha detectado que la aplicación ha sido firmada con un certificado digital diferente al que estáis utilizando vosotros. Si hubiera sido creado por el mismo desarrollador reemplazaría la aplicación ya instalada por la que queremos instalar.
    Se soluciona desinstalando antes la aplicación. Tienes dos opciones:
    • Como lo haces habitualmente en tu dispositivo: Ajustes/Aplicaciones/ ApiDemos/Desinstalar
    • Desde la línea de comando:
                     adb uninstall com.example.android.apis
    NOTA: Este mismo problema también te ocurrirá cuando tengas instalado el entorno de desarrollo (Eclipse) en dos PC. Cada entorno de desarrollo tiene un certificado digital diferente. Cuando trates de instalar una aplicación en tu dispositivo físico, te aparecerá un error, si la aplicación ya ha sido instalada con el otro entorno.

    Colores para utilizar en eclipse

    EEEEEEDDDDDDCCCCCCBBBBBBAAAAAA999999
    888888777777666666555555444444333333
    222222111111000000FF0000EE0000DD0000
    CC0000BB0000AA0000990000880000770000
    660000550000440000330000220000110000
    FFFFFFFFFFCCFFFF99FFFF66FFFF33FFFF00
    CCFFFFCCFFCCCCFF99CCFF66CCFF33CCFF00
    99FFFF99FFCC99FF9999FF6699FF3399FF00
    66FFFF66FFCC66FF9966FF6666FF3366FF00
    33FFFF33FFCC33FF9933FF6633FF3333FF00
    00FFFF00FFCC00FF9900FF6600FF3300FF00
    FFCCFFFFCCCCFFCC99FFCC66FFCC33FFCC00
    CCCCFFCCCCCCCCCC99CCCC66CCCC33CCCC00
    99CCFF99CCCC99CC9999CC6699CC3399CC00
    66CCFF66CCCC66CC9966CC6666CC3366CC00
    33CCFF33CCCC33CC9933CC6633CC3333CC00
    00CCFF00CCCC33CC6633CC3300CC9900CC66
    00CC3300CC00FF99FFFF99CCFF9999FF9966
    FF9933FF9900CC99FFCC99CCCC9999CC9966
    CC9933CC99009999FF9999CC999999999966
    9999339999006699FF6699CC669999669966
    6699336699003399FF3399CC339999339966
    3399333399000099FF0099CC009999009966
    009933009900FF66FFFF66CCFF6699FF6666
    FF6633FF6600CC66FFCC66CCCC6699CC6666
    CC6633CC66009966FF9966CC996699996666
    9966339966006666FF6666CC666699666666
    6666336666003366FF3366CC336699336666
    3366333366000066FF0066CC006699006666
    006633006600FF33FFFF33CCFF3399FF3366
    FF3333FF3300CC33FFCC33CCCC3399CC3366
    CC3333CC33009933FF9933CC993399993366
    9933339933006633FF6633CC663399663366
    6633336633003333FF3333CC333399333366
    3333333333000033FFFF33330033CC003399
    003366003333003300FF00FFFF00CCFF0099
    FF0066FF0033FF0000CC00FFCC00CCCC0099
    CC0066CC0033CC00009900FF9900CC990099
    9900669900339900006600FF6600CC660099
    6600666600336600003300FF3300CC330099
    3300663300333300000000FF0000CC000099
    00006600003300FF0000EE0000DD0000CC00
    00BB0000AA00009900008800007700006600
    0055000044000033000022000011000000FF
    0000EE0000DD0000CC0000BB0000AA000099
    000088000077000055000044000022000011