Curso de programacion en android

1,806 views
1,703 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,806
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
71
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Curso de programacion en android

  1. 1. Introducción a la Programación en Android Iker Perez de Albeniz Cursillos de Septiembre 2010 Universidad de Deusto http://www.ikeralbeniz.net http://www.deusto.es
  2. 2. Introducción <ul><li>El objetivo de este curso es: </li></ul><ul><li>Introducción a la plataforma android: estado actual, evolución de la plataforma </li></ul><ul><li>Introducción a la plataforma android como desarrollador: entrono de programación y publicación </li></ul><ul><li>Introducción a la programación android: teoría y practica básica de programación de pequeñas aplicaciones </li></ul>
  3. 3. Introducción <ul><li>Mercado actual de los SmartPhones: </li></ul><ul><li>Symbian </li></ul><ul><li>Windows Mobile </li></ul><ul><li>iPhone </li></ul><ul><li>Android </li></ul><ul><li>BlackBerry </li></ul>
  4. 4. Introducción <ul><li>Perfiles de Usuario en PC: </li></ul>Usuario General Windows Usuario Techi/Técnico GNU/Linux Usuario Techi/Elitista Mac
  5. 5. Introducción <ul><li>Perfiles de Usuario en PC: </li></ul>Existe un cuarto perfil: Blackberry Usuario General Android Usuario Techi/Técnico Android Usuario Techi/Elitista iPhone
  6. 6. Introducción <ul><li>Factores para el éxito de una plataforma: </li></ul><ul><li>FanBoys </li></ul><ul><li>Disponibilidad de Software Gratuito </li></ul><ul><li>Facilidad de desarrollo y publicación </li></ul><ul><li>Bajo coste / Promociones Operadoras </li></ul>
  7. 7. Introducción
  8. 8. Introducción
  9. 9. Introducción <ul><li>Conclusiones: </li></ul><ul><li>iPhone: mercado mas maduro, plataforma mas cerrada, posibilidades de crecimiento buenas. </li></ul><ul><li>Android: menos conocido en el mercado, plataforma abierta y aun en un proceso de desarrollo (cambios), posibilidades de crecimiento impresionantes. </li></ul><ul><li>Android el teléfono de las masas !! </li></ul>
  10. 10. Introducción <ul><li>¿En que me afecta en todo esto a la hora de programar ? </li></ul><ul><li>Actualmente están saliendo diferentes versiones de android en periodos muy cortos de tiempo. </li></ul><ul><li>Cada nueva versión incorpora mas funcionalidades, posibilidades tanto a nivel funcional como a nivel estructural. (nuevas APIs). </li></ul><ul><li>Actualmente existe un volumen no demasiado alto de terminales con muy diferentes versiones de android. </li></ul><ul><li>Esperemos que cuando llegue el boom de esta plataforma esta sea mas estable. </li></ul>
  11. 11. Introducción <ul><li>Distribución de versiones de android </li></ul>http://developer.android.com/resources/dashboard/platform-versions.html
  12. 12. Introducción <ul><li>Ejemplo: </li></ul><ul><li>Evento onClick para un botón en android 1.5 </li></ul>class MyActivity extends Activity { findViewById(R.id.myButton).setOnClickListener(new View.OnClickListener() {     public void onClick(View v) {         // Do stuff     } });   }
  13. 13. Introducción <ul><li>Ejemplo: </li></ul><ul><li>Evento onClick para un botón en android 1.6 </li></ul>class MyActivity extends Activity { public void myClickHandler(View target) { // Do stuff } } <Button android:onClick=&quot;myClickHandler&quot; /> También hay que tener en cuenta las capacidades a nivel de hardware…
  14. 14. Entorno Programación <ul><li>SDK </li></ul>
  15. 15. Entorno Programación <ul><li>Estructura de un Proyecto Android: </li></ul><ul><li>Res (recursos) </li></ul><ul><ul><li>drawable (imágenes –por defecto -) </li></ul></ul><ul><ul><ul><li>icon.png </li></ul></ul></ul><ul><ul><ul><li>Imagen.png </li></ul></ul></ul><ul><ul><li>drawable-jp (imágenes – japones-) </li></ul></ul><ul><ul><ul><li>Icon.png </li></ul></ul></ul><ul><ul><ul><li>Imagen.png </li></ul></ul></ul><ul><ul><li>layout (diseños de pantalla) </li></ul></ul><ul><ul><ul><li>main.xml </li></ul></ul></ul><ul><ul><li>values </li></ul></ul><ul><ul><ul><li>strings.xml (textos – por defecto-) </li></ul></ul></ul><ul><ul><li>values-jp </li></ul></ul><ul><ul><ul><li>Strings.xml (textos – en japones-) </li></ul></ul></ul><ul><li>src (codigo java) </li></ul><ul><li>AndroidManifest.xml </li></ul>
  16. 16. Entorno Programación <ul><li>Localización: </li></ul>Locale Code Language / Country Location of strings.xml Location of flag.png Default English / United Kingdom res/values/ res/drawable/ de-rDE German / Germany res/values-de/ res/drawable-de-rDE/ fr-rFR French / France res/values-fr/ res/drawable-fr-rFR/ fr-rCA French / Canada res/values-fr/ res/drawable-fr-rCA/ en-rCA English / Canada (res/values/) res/drawable-en-rCA/ ja-rJP Japanese / Japan res/values-ja/ res/drawable-ja-rJP/ en-rUS English / United States (res/values/) res/drawable-en-rUS/
  17. 17. Aplicación Android <ul><li>Estructura .APK (ZIP) se compone de los siguientes archivos: </li></ul><ul><li>classes.dex </li></ul><ul><ul><li>Dalvik </li></ul></ul><ul><ul><li>Magic: dex XXX </li></ul></ul><ul><ul><li>Empaquetado de los .java compilados </li></ul></ul><ul><li>res (recursos) </li></ul><ul><li>META-INF (firmas de la aplicacion) </li></ul><ul><li>AndroidManifest.xml (compilado) </li></ul><ul><li>resources.arsc (relaciona los nombres de los recursos con sus identificadores - R.java-) </li></ul>
  18. 18. Aplicación Android <ul><li>Tipos de Aplicación: </li></ul><ul><li>Activity </li></ul><ul><ul><li>Es el componente mas común. Seria equivalente a un FORM o ventana y a partir de la base Activity existen Activitys derivadas que implementan metodos para facilitar la integración de elementos como listas, mapas o tabs. </li></ul></ul><ul><li>Broadcast Receiver </li></ul><ul><ul><li>Son componentes que escuchan eventos del generados por otras aplicaciones (llegada de un sms, bateria baja,..) </li></ul></ul><ul><li>Service </li></ul><ul><ul><li>Servicios que se ejecutan en un segundo plano. </li></ul></ul><ul><li>Content Provider </li></ul><ul><ul><li>Son estructuras que permiten intercambian información entre aplicaciones </li></ul></ul>
  19. 19. Sistema Publicación
  20. 20. Ejercicios Prácticos Cliente Twitter

×