SlideShare uma empresa Scribd logo
1 de 43
Desarrollo de
Aplicaciones Móviles.
Marcos Cáceres
Manuel Canales
Sergio Cancino
Departamento de Ingeniería de Sistemas
Facultad de Ingeniería y Ciencias
Universidad de La Frontera
Ejecución del Programa
• Herramientas Lint
• Utiliza ProGuard Integración de la herramienta Gradle
• Nuevo diseño del editor
• Nueva interfaz
• Permite la importación de proyectos realizados en el
entorno Eclipse
• Posibilita el control de versiones
• Vista previa
• Integración con Google Cloud Platform
• Editor de diseño
•
Creación de Dispositivos
Virtuales (AVD)
SDK Manager
• https://developer.android.com/intl/es/sdk/index.html
Ficheros y
Carpetas de un
Proyecto Android
• Android Studio
• AndroidManifest.xml: Describe la aplicación Android. En él se
indican las actividades, las intenciones, los servicios y los
proveedores de contenido de la aplicación. También se
declaran los permisos que requerirá la aplicación. Se indica la
versión mínima de Android para poder ejecutarla, el paquete
Java, la versión de la aplicación, etc.
• java: Carpeta que
contiene el código
fuente de la aplicación.
Se almacenan en
carpetas según el
nombre de su paquete.
• MainActivity: Clase
Java con el código de
la actividad inicial.
• ApplicationTest: Clase
Java pensada para
insertar código de
testeo de la aplicación
utilizando el API JUnit.
• res: Carpeta que contiene los recursos usados por la aplicación.
• drawable: En esta carpeta se almacenan los ficheros de imágenes (JPG o
PNG) y descriptores de imágenes en XML. (usaremos un sufijo especial si
queremos tener varias versiones de un recurso, de forma que solo se
cargue al cumplirse una determinada condición). Por ejemplo: (hdpi)
significa que solo ha de cargar los recursos contenidos en esta carpeta
cuando el dispositivo donde se instala la aplicación tiene una densidad
gráfica alta (180- dpi); (mdpi) se utilizará con densidad gráfica media
(180- dpi).
hdpi mdpi xhdpi
• layout: Contiene ficheros XML con vistas de la aplicación.
Las vistas nos permitirán configurar las diferentes
pantallas que compondrán la interfaz de usuario de la
aplicación. Se utiliza un formato similar al HTML usado
para diseñar páginas web.
• menu: Ficheros XML con los menús de cada actividad.
• values: También utilizaremos ficheros XML para indicar valores
usados en la aplicación, de esta manera podremos cambiarlos
desde estos ficheros sin necesidad de ir al código fuente. En
dimens.xml, se definide el margen horizontal y vertical por
defecto. En el fichero strings.xml, se define todas las cadenas
de caracteres de la aplicación. Creando recursos alternativos
resultará muy sencillo traducir una aplicación a otro idioma.
Finalmente en styles.xml, se defininen los estilos y temas de la
aplicación.
• anim: Contiene ficheros XML con animaciones de vistas
(Tween).
• animator: Contiene ficheros XML con animaciones de
propiedades.
• xml: Otros ficheros XML requeridos por la aplicación.
• raw: Ficheros adicionales que no se encuentran en formato
XML.
• Gradle Scripts: En esta carpeta se almacenan una serie de
ficheros Gradle que permiten construir la aplicación. Podrás
definir aspectos importantes como la versión del sdk de
compilación (targetSdkVersion) y la versión mínima
(minSdkVersion).
Ficheros y
Carpetas de un
Proyecto Android
• Eclipse
• src: Carpeta que contiene el código fuente de la aplicación.
• gen: Carpeta que contiene el código generado de forma
automática por el SDK. (Nunca hay que modificar de forma
manual estos ficheros)
• BuildConfig.java: Define la constante DEBUG para que desde Java
puedas saber si tu aplicación está en fase de desarrollo.
• R.java: Define una clase que asocia los recursos de la aplicación
con identificadores. De esta forma los recursos podrán ser
accedidos desde Java.
• Android x.x: Código JAR, el API de Android según la versión
seleccionada.
• Android Private Libraries: Librerías asociadas al proyecto.
• assets: Carpeta que puede contener una serie arbitraria de ficheros
o carpetas que podrán ser utilizados por la aplicación (ficheros de
datos, fuentes,…). A diferencia de la carpeta res, nunca se modifica
el contenido de los ficheros de esta carpeta ni se les asociará un
identificador.
• bin: En esta carpeta se compila el código y se genera el .apk,
fichero comprimido que contine la aplicación final lista para instalar.
• libs: Código JAR con librerías. Se ha añadido
automáticamente la librería android-support-v4. Su objetivo
es permitir ciertas funcionalidades importantes no disponibles
en el nivel de API seleccionado como mínimo. Gracias a esta
librería podremos utilizar elementos como Fragments,
ViewPager o Navigation Drawable, que no están disponibles
en el nivel de API mínimo seleccionado.
• res: Carpeta que contiene los recursos usados por la
aplicación.
• drawable: En esta carpeta se almacenan los ficheros de imágenes
(JPG o PNG) y descriptores de imágenes en XML.
• layout: Contiene ficheros XML con vistas de la aplicación. Las vistas
nos permitirán configurar las diferentes pantallas que compondrán
la interfaz de usuario de la aplicación. Se utiliza un formato similar al
HTML usado para diseñar páginas Web.
• menu: Ficheros XML con los menús de cada actividad.
• values: También utilizaremos ficheros XML para indicar valores del
tipo string, color o estilo. De esta manera podremos cambiar los
valores sin necesidad de ir al código fuente. Por ejemplo, nos
permitiría traducir una aplicación a otro idioma.
• anim: Contiene ficheros XML con animaciones Tween.
• animator: Contiene ficheros XML con animaciones de
propiedades.
• xml: Otros ficheros XML requeridos por la aplicación.
• raw: Ficheros adicionales que no se encuentran en formato
XML.
• AndroidManifest.xml: Este fichero describe la aplicación
Android. En él se indican las actividades, intenciones, servicios
y proveedores de contenido de la aplicación. También se
declaran los permisos que requerirá la aplicación. Se indica la
versión mínima de Android para poder ejecutarla, el paquete
Java, la versión de la aplicación, etc.
• ic_launcher-web.png: Icono de la aplicación de gran tamaño
para ser usado en páginas Web. El nombre puede variar si se
indicó uno diferente en el proceso de creación del proyecto.
Ha de tener una resolución de 512x512 (con alfa).
• proguard-project.txt: Fichero de configuración de la
herramienta ProGuard, que te permite optimizar y ofuscar el
código generado. Es decir, se obtiene un .apk más pequeño y
donde resulta más difícil hacer ingeniería inversa.
• project.properties: Fichero generado automáticamente por el
SDK. Nunca hay que modificarlo. Se utiliza para comprobar la
versión del API y otras características cuando se instala la
aplicación en el terminal.
Componentes de una
Aplicación
• Vista: Elementos que componen la interfaz de usuario de una
aplicación (Ej: botón o una entrada de texto) son
descendientes de la clase View, y por tanto, pueden ser
definidas utilizando código Java. Sin embargo, lo habitual será
definir las vistas utilizando un fichero XML y dejar que el
sistema cree los objetos por nosotros a partir de este fichero.
• Layout
• Conjunto de vistas agrupadas de una determinada forma. Vamos a
disponer de diferentes tipos de layouts para organizar las vistas de
forma lineal, en cuadrícula o indicando la posición absoluta de cada
vista.
• Actividad (Activity)
• Una aplicación en Android va a estar formada por un conjunto de
elementos básicos de visualización, coloquialmente conocidos como
pantallas de la aplicación. En Android cada uno de estos elementos,
o pantallas, se conoce como actividad. Su función principal es la
creación del interfaz de usuario. Una aplicación suelen necesitar
varias actividades para crear el interfaz de usuario. Las diferentes
actividades creadas serán independientes entre sí, aunque todas
trabajarán para un objetivo común. Toda actividad ha de pertenecer
a una clase descendiente de Activity.
• Servicio (Service)
• Proceso que se ejecuta sin la necesidad de una interacción con el
usuario. Es algo parecido a un demonio en Unix o a un servicio en
Windows. En Android disponemos de dos tipos de servicios:
servicios locales, que son ejecutados en el mismo proceso y servicios
remotos, que son ejecutados en procesos separados.
• Intención (Intent)
• Representa la voluntad de realizar alguna acción; como realizar una
llamada de teléfono, visualizar una página web. Se utiliza cada vez
que queramos:
• Lanzar una actividad, lanzar un servicio, enviar un anuncio de tipo
broadcast, Comunicarnos con un servicio, Los componentes
lanzados pueden ser internos o externos a nuestra aplicación.
También utilizaremos las intenciones para el intercambio de
información entre estos componentes.
• Fragment
• La llegada de las tabletas trajo el problema de que las
aplicaciones de Android ahora deben soportar pantallas más
grandes. Si diseñamos una aplicación pensada para un
dispositivo móvil y luego la ejecutamos en una tableta, el
resultado no suele resultar satisfactorio.
• Para ayudar al diseñador a resolver este problema, en la
versión 3.0 de Android aparecen los fragments. Un fragment
está formado por la unión de varias vistas para crear un
bloque funcional de la interfaz de usuario. Una vez creados los
fragments, podemos combinar uno o varios fragments dentro
de una actividad, según el tamaño de pantalla disponible.
• Receptor de anuncios (Broadcast receiver)
• Un receptor de anuncios recibe y reacciona ante anuncios de tipo
broadcast. Los anuncios broadcast pueden ser originados por el
sistema o por las aplicaciones. Algunos tipos de anuncios originados
por el sistema son: Batería baja, llamada entrante,... Las aplicaciones
también pueden crear y lanzar nuevos tipos de anuncios broadcast.
Los receptores de anuncios no disponen de interfaz de usuario,
aunque pueden iniciar una actividad si lo estiman oportuno.
• Proveedores de Contenido (Content Provider)
• En muchas ocasiones las aplicaciones instaladas en un terminal
Android necesitan compartir información. Android define un
mecanismo estándar para que las aplicaciones puedan compartir
datos sin necesidad de comprometer la seguridad del sistema de
ficheros. Con este mecanismo podremos acceder a datos de otras
aplicaciones, como la lista de contactos, o proporcionar datos a
otras aplicaciones.
Documentación y Aplicaciones
de ejemplo
Android Android.Accessibilityservice
Android.accounts Android.animation
Android.hardware Android.app
Android.app.admin Android.app.assist
Android.app.backup Android.appwidget
Android.view Android.útil
Android.bluetooth Android. Speech
Android.content Android.content.pm
Android.content.res Android.database
Android.database. sqlite Android.media
Android.graphics Android.graphics.pdf
Android.graphics.drawable
Link Referencia: http://developer.android.com/intl/es/reference/packages.html
Repositorio de ejemplos en
GitHub
• https://github.com/Sergiioh/Calculadora

Mais conteúdo relacionado

Mais procurados

Fundamentos de Visual Basic
Fundamentos de Visual Basic Fundamentos de Visual Basic
Fundamentos de Visual Basic carlos matheus
 
Fundamentos de Visual Basic
Fundamentos de Visual BasicFundamentos de Visual Basic
Fundamentos de Visual BasicSamirCabrera5
 
Elementos de eclipse
Elementos de eclipseElementos de eclipse
Elementos de eclipsePVarely24
 
Instituto universitario politecnico
Instituto universitario politecnicoInstituto universitario politecnico
Instituto universitario politecnicoKarolayFinol
 
Jose palencia - PROGRAMACIÓN
Jose palencia - PROGRAMACIÓN Jose palencia - PROGRAMACIÓN
Jose palencia - PROGRAMACIÓN MariaLeon126
 
Fundamentos de visual basico por vicente sanchez
Fundamentos de visual basico por vicente sanchezFundamentos de visual basico por vicente sanchez
Fundamentos de visual basico por vicente sanchezJairo Bermudez
 
visual basic- programacion
visual basic- programacionvisual basic- programacion
visual basic- programacionjosecoronel38
 
Presentacion de Visual Basic
Presentacion de Visual BasicPresentacion de Visual Basic
Presentacion de Visual BasicFrancheska Parras
 
Fernando Espinoza
Fernando EspinozaFernando Espinoza
Fernando EspinozaMarvel ico
 
Programación en Visual Basic - Conceptos Básicos
Programación en Visual Basic - Conceptos BásicosProgramación en Visual Basic - Conceptos Básicos
Programación en Visual Basic - Conceptos BásicosCristian Gonzalez
 
Tema 1 introduccion a la programacion en visual basic
Tema 1 introduccion a la programacion en visual basicTema 1 introduccion a la programacion en visual basic
Tema 1 introduccion a la programacion en visual basicaristeo23
 
Republica bolivariana de_venezuela
Republica bolivariana de_venezuelaRepublica bolivariana de_venezuela
Republica bolivariana de_venezuelaGabrielSaracheHernan
 

Mais procurados (19)

Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
 
Fundamentos de Visual Basic
Fundamentos de Visual Basic Fundamentos de Visual Basic
Fundamentos de Visual Basic
 
Fundamentos de Visual Basic
Fundamentos de Visual BasicFundamentos de Visual Basic
Fundamentos de Visual Basic
 
Elementos de eclipse
Elementos de eclipseElementos de eclipse
Elementos de eclipse
 
Instituto universitario politecnico
Instituto universitario politecnicoInstituto universitario politecnico
Instituto universitario politecnico
 
Jose palencia - PROGRAMACIÓN
Jose palencia - PROGRAMACIÓN Jose palencia - PROGRAMACIÓN
Jose palencia - PROGRAMACIÓN
 
Fundamentos de visual basico por vicente sanchez
Fundamentos de visual basico por vicente sanchezFundamentos de visual basico por vicente sanchez
Fundamentos de visual basico por vicente sanchez
 
visual basic- programacion
visual basic- programacionvisual basic- programacion
visual basic- programacion
 
Presentacion de Visual Basic
Presentacion de Visual BasicPresentacion de Visual Basic
Presentacion de Visual Basic
 
Fernando Espinoza
Fernando EspinozaFernando Espinoza
Fernando Espinoza
 
Tutorial de eclipse terminado yarker
Tutorial de eclipse terminado yarkerTutorial de eclipse terminado yarker
Tutorial de eclipse terminado yarker
 
Programación en Visual Basic - Conceptos Básicos
Programación en Visual Basic - Conceptos BásicosProgramación en Visual Basic - Conceptos Básicos
Programación en Visual Basic - Conceptos Básicos
 
Elemento 1
Elemento 1Elemento 1
Elemento 1
 
Luis jose coronel num 42
Luis jose coronel num 42Luis jose coronel num 42
Luis jose coronel num 42
 
Visual basic
Visual basicVisual basic
Visual basic
 
Franle ocanto
Franle ocantoFranle ocanto
Franle ocanto
 
Tema 1 introduccion a la programacion en visual basic
Tema 1 introduccion a la programacion en visual basicTema 1 introduccion a la programacion en visual basic
Tema 1 introduccion a la programacion en visual basic
 
Republica bolivariana de_venezuela
Republica bolivariana de_venezuelaRepublica bolivariana de_venezuela
Republica bolivariana de_venezuela
 
Fundamentos de visual basic
Fundamentos de visual basicFundamentos de visual basic
Fundamentos de visual basic
 

Semelhante a Introducción a Android

239984949 curso-android-pptx
239984949 curso-android-pptx239984949 curso-android-pptx
239984949 curso-android-pptxxavazque2
 
Elementos de eclipse
Elementos de eclipseElementos de eclipse
Elementos de eclipseHeidiie Hdz
 
Estructura de un Proyecto Android
Estructura de un Proyecto AndroidEstructura de un Proyecto Android
Estructura de un Proyecto AndroidBugster18
 
Aplicaciones android
Aplicaciones androidAplicaciones android
Aplicaciones androidedwin
 
Presentacion para la Flagship Store de Telefónica
Presentacion para la Flagship Store de TelefónicaPresentacion para la Flagship Store de Telefónica
Presentacion para la Flagship Store de TelefónicaJavier Tellez Dones
 
R esume libro el gran libro de android
R esume libro el gran libro de androidR esume libro el gran libro de android
R esume libro el gran libro de androidwiliam lliulli herrera
 
Taller de prog. en android
Taller de prog. en androidTaller de prog. en android
Taller de prog. en androidKarla Silva
 
Estructura de un proyecto android
Estructura de un proyecto androidEstructura de un proyecto android
Estructura de un proyecto androidPitudos Locos
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweetsJorge Soro
 
Curso de desarrollo de aplicaciones Android - Sesión 1
Curso de desarrollo de aplicaciones Android - Sesión 1Curso de desarrollo de aplicaciones Android - Sesión 1
Curso de desarrollo de aplicaciones Android - Sesión 1Daniel Alvarez
 
Instrucciones y estructuras
Instrucciones y estructurasInstrucciones y estructuras
Instrucciones y estructurasFernand Bernowly
 
Sistema Operativo Android
Sistema Operativo AndroidSistema Operativo Android
Sistema Operativo AndroidAlfredo Aguayo
 
Taller Android seedrocket
Taller Android seedrocketTaller Android seedrocket
Taller Android seedrocketIsrael Camacho
 

Semelhante a Introducción a Android (20)

239984949 curso-android-pptx
239984949 curso-android-pptx239984949 curso-android-pptx
239984949 curso-android-pptx
 
Elementos de eclipse
Elementos de eclipseElementos de eclipse
Elementos de eclipse
 
Estructura de un Proyecto Android
Estructura de un Proyecto AndroidEstructura de un Proyecto Android
Estructura de un Proyecto Android
 
Aplicaciones android
Aplicaciones androidAplicaciones android
Aplicaciones android
 
Presentacion para la Flagship Store de Telefónica
Presentacion para la Flagship Store de TelefónicaPresentacion para la Flagship Store de Telefónica
Presentacion para la Flagship Store de Telefónica
 
App inventor
App inventorApp inventor
App inventor
 
Estructura de un proyecto android CETis #49
Estructura de un proyecto android CETis #49Estructura de un proyecto android CETis #49
Estructura de un proyecto android CETis #49
 
R esume libro el gran libro de android
R esume libro el gran libro de androidR esume libro el gran libro de android
R esume libro el gran libro de android
 
Taller de prog. en android
Taller de prog. en androidTaller de prog. en android
Taller de prog. en android
 
Estructura de un proyecto android
Estructura de un proyecto androidEstructura de un proyecto android
Estructura de un proyecto android
 
Manual android
Manual androidManual android
Manual android
 
TUTORIAL
TUTORIALTUTORIAL
TUTORIAL
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweets
 
Curso de desarrollo de aplicaciones Android - Sesión 1
Curso de desarrollo de aplicaciones Android - Sesión 1Curso de desarrollo de aplicaciones Android - Sesión 1
Curso de desarrollo de aplicaciones Android - Sesión 1
 
Instrucciones y estructuras
Instrucciones y estructurasInstrucciones y estructuras
Instrucciones y estructuras
 
Sistema Operativo Android
Sistema Operativo AndroidSistema Operativo Android
Sistema Operativo Android
 
Sistema Operativo Android
Sistema Operativo AndroidSistema Operativo Android
Sistema Operativo Android
 
Actividad 11
Actividad 11Actividad 11
Actividad 11
 
Taller Android seedrocket
Taller Android seedrocketTaller Android seedrocket
Taller Android seedrocket
 
Curso Desarrollo Android
Curso Desarrollo AndroidCurso Desarrollo Android
Curso Desarrollo Android
 

Introducción a Android

  • 1. Desarrollo de Aplicaciones Móviles. Marcos Cáceres Manuel Canales Sergio Cancino Departamento de Ingeniería de Sistemas Facultad de Ingeniería y Ciencias Universidad de La Frontera
  • 2. Ejecución del Programa • Herramientas Lint • Utiliza ProGuard Integración de la herramienta Gradle • Nuevo diseño del editor • Nueva interfaz • Permite la importación de proyectos realizados en el entorno Eclipse • Posibilita el control de versiones • Vista previa • Integración con Google Cloud Platform • Editor de diseño •
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 12.
  • 13. Ficheros y Carpetas de un Proyecto Android • Android Studio
  • 14. • AndroidManifest.xml: Describe la aplicación Android. En él se indican las actividades, las intenciones, los servicios y los proveedores de contenido de la aplicación. También se declaran los permisos que requerirá la aplicación. Se indica la versión mínima de Android para poder ejecutarla, el paquete Java, la versión de la aplicación, etc.
  • 15. • java: Carpeta que contiene el código fuente de la aplicación. Se almacenan en carpetas según el nombre de su paquete. • MainActivity: Clase Java con el código de la actividad inicial. • ApplicationTest: Clase Java pensada para insertar código de testeo de la aplicación utilizando el API JUnit.
  • 16. • res: Carpeta que contiene los recursos usados por la aplicación. • drawable: En esta carpeta se almacenan los ficheros de imágenes (JPG o PNG) y descriptores de imágenes en XML. (usaremos un sufijo especial si queremos tener varias versiones de un recurso, de forma que solo se cargue al cumplirse una determinada condición). Por ejemplo: (hdpi) significa que solo ha de cargar los recursos contenidos en esta carpeta cuando el dispositivo donde se instala la aplicación tiene una densidad gráfica alta (180- dpi); (mdpi) se utilizará con densidad gráfica media (180- dpi). hdpi mdpi xhdpi
  • 17. • layout: Contiene ficheros XML con vistas de la aplicación. Las vistas nos permitirán configurar las diferentes pantallas que compondrán la interfaz de usuario de la aplicación. Se utiliza un formato similar al HTML usado para diseñar páginas web.
  • 18. • menu: Ficheros XML con los menús de cada actividad. • values: También utilizaremos ficheros XML para indicar valores usados en la aplicación, de esta manera podremos cambiarlos desde estos ficheros sin necesidad de ir al código fuente. En dimens.xml, se definide el margen horizontal y vertical por defecto. En el fichero strings.xml, se define todas las cadenas de caracteres de la aplicación. Creando recursos alternativos resultará muy sencillo traducir una aplicación a otro idioma. Finalmente en styles.xml, se defininen los estilos y temas de la aplicación.
  • 19. • anim: Contiene ficheros XML con animaciones de vistas (Tween). • animator: Contiene ficheros XML con animaciones de propiedades. • xml: Otros ficheros XML requeridos por la aplicación. • raw: Ficheros adicionales que no se encuentran en formato XML.
  • 20. • Gradle Scripts: En esta carpeta se almacenan una serie de ficheros Gradle que permiten construir la aplicación. Podrás definir aspectos importantes como la versión del sdk de compilación (targetSdkVersion) y la versión mínima (minSdkVersion).
  • 21. Ficheros y Carpetas de un Proyecto Android • Eclipse
  • 22. • src: Carpeta que contiene el código fuente de la aplicación. • gen: Carpeta que contiene el código generado de forma automática por el SDK. (Nunca hay que modificar de forma manual estos ficheros) • BuildConfig.java: Define la constante DEBUG para que desde Java puedas saber si tu aplicación está en fase de desarrollo. • R.java: Define una clase que asocia los recursos de la aplicación con identificadores. De esta forma los recursos podrán ser accedidos desde Java.
  • 23. • Android x.x: Código JAR, el API de Android según la versión seleccionada. • Android Private Libraries: Librerías asociadas al proyecto. • assets: Carpeta que puede contener una serie arbitraria de ficheros o carpetas que podrán ser utilizados por la aplicación (ficheros de datos, fuentes,…). A diferencia de la carpeta res, nunca se modifica el contenido de los ficheros de esta carpeta ni se les asociará un identificador. • bin: En esta carpeta se compila el código y se genera el .apk, fichero comprimido que contine la aplicación final lista para instalar.
  • 24. • libs: Código JAR con librerías. Se ha añadido automáticamente la librería android-support-v4. Su objetivo es permitir ciertas funcionalidades importantes no disponibles en el nivel de API seleccionado como mínimo. Gracias a esta librería podremos utilizar elementos como Fragments, ViewPager o Navigation Drawable, que no están disponibles en el nivel de API mínimo seleccionado. • res: Carpeta que contiene los recursos usados por la aplicación.
  • 25. • drawable: En esta carpeta se almacenan los ficheros de imágenes (JPG o PNG) y descriptores de imágenes en XML. • layout: Contiene ficheros XML con vistas de la aplicación. Las vistas nos permitirán configurar las diferentes pantallas que compondrán la interfaz de usuario de la aplicación. Se utiliza un formato similar al HTML usado para diseñar páginas Web. • menu: Ficheros XML con los menús de cada actividad. • values: También utilizaremos ficheros XML para indicar valores del tipo string, color o estilo. De esta manera podremos cambiar los valores sin necesidad de ir al código fuente. Por ejemplo, nos permitiría traducir una aplicación a otro idioma.
  • 26. • anim: Contiene ficheros XML con animaciones Tween. • animator: Contiene ficheros XML con animaciones de propiedades. • xml: Otros ficheros XML requeridos por la aplicación. • raw: Ficheros adicionales que no se encuentran en formato XML.
  • 27. • AndroidManifest.xml: Este fichero describe la aplicación Android. En él se indican las actividades, intenciones, servicios y proveedores de contenido de la aplicación. También se declaran los permisos que requerirá la aplicación. Se indica la versión mínima de Android para poder ejecutarla, el paquete Java, la versión de la aplicación, etc. • ic_launcher-web.png: Icono de la aplicación de gran tamaño para ser usado en páginas Web. El nombre puede variar si se indicó uno diferente en el proceso de creación del proyecto. Ha de tener una resolución de 512x512 (con alfa).
  • 28. • proguard-project.txt: Fichero de configuración de la herramienta ProGuard, que te permite optimizar y ofuscar el código generado. Es decir, se obtiene un .apk más pequeño y donde resulta más difícil hacer ingeniería inversa. • project.properties: Fichero generado automáticamente por el SDK. Nunca hay que modificarlo. Se utiliza para comprobar la versión del API y otras características cuando se instala la aplicación en el terminal.
  • 29. Componentes de una Aplicación • Vista: Elementos que componen la interfaz de usuario de una aplicación (Ej: botón o una entrada de texto) son descendientes de la clase View, y por tanto, pueden ser definidas utilizando código Java. Sin embargo, lo habitual será definir las vistas utilizando un fichero XML y dejar que el sistema cree los objetos por nosotros a partir de este fichero.
  • 30. • Layout • Conjunto de vistas agrupadas de una determinada forma. Vamos a disponer de diferentes tipos de layouts para organizar las vistas de forma lineal, en cuadrícula o indicando la posición absoluta de cada vista. • Actividad (Activity) • Una aplicación en Android va a estar formada por un conjunto de elementos básicos de visualización, coloquialmente conocidos como pantallas de la aplicación. En Android cada uno de estos elementos, o pantallas, se conoce como actividad. Su función principal es la creación del interfaz de usuario. Una aplicación suelen necesitar varias actividades para crear el interfaz de usuario. Las diferentes actividades creadas serán independientes entre sí, aunque todas trabajarán para un objetivo común. Toda actividad ha de pertenecer a una clase descendiente de Activity.
  • 31. • Servicio (Service) • Proceso que se ejecuta sin la necesidad de una interacción con el usuario. Es algo parecido a un demonio en Unix o a un servicio en Windows. En Android disponemos de dos tipos de servicios: servicios locales, que son ejecutados en el mismo proceso y servicios remotos, que son ejecutados en procesos separados. • Intención (Intent) • Representa la voluntad de realizar alguna acción; como realizar una llamada de teléfono, visualizar una página web. Se utiliza cada vez que queramos: • Lanzar una actividad, lanzar un servicio, enviar un anuncio de tipo broadcast, Comunicarnos con un servicio, Los componentes lanzados pueden ser internos o externos a nuestra aplicación. También utilizaremos las intenciones para el intercambio de información entre estos componentes.
  • 32. • Fragment • La llegada de las tabletas trajo el problema de que las aplicaciones de Android ahora deben soportar pantallas más grandes. Si diseñamos una aplicación pensada para un dispositivo móvil y luego la ejecutamos en una tableta, el resultado no suele resultar satisfactorio. • Para ayudar al diseñador a resolver este problema, en la versión 3.0 de Android aparecen los fragments. Un fragment está formado por la unión de varias vistas para crear un bloque funcional de la interfaz de usuario. Una vez creados los fragments, podemos combinar uno o varios fragments dentro de una actividad, según el tamaño de pantalla disponible.
  • 33.
  • 34. • Receptor de anuncios (Broadcast receiver) • Un receptor de anuncios recibe y reacciona ante anuncios de tipo broadcast. Los anuncios broadcast pueden ser originados por el sistema o por las aplicaciones. Algunos tipos de anuncios originados por el sistema son: Batería baja, llamada entrante,... Las aplicaciones también pueden crear y lanzar nuevos tipos de anuncios broadcast. Los receptores de anuncios no disponen de interfaz de usuario, aunque pueden iniciar una actividad si lo estiman oportuno. • Proveedores de Contenido (Content Provider) • En muchas ocasiones las aplicaciones instaladas en un terminal Android necesitan compartir información. Android define un mecanismo estándar para que las aplicaciones puedan compartir datos sin necesidad de comprometer la seguridad del sistema de ficheros. Con este mecanismo podremos acceder a datos de otras aplicaciones, como la lista de contactos, o proporcionar datos a otras aplicaciones.
  • 35. Documentación y Aplicaciones de ejemplo Android Android.Accessibilityservice Android.accounts Android.animation Android.hardware Android.app Android.app.admin Android.app.assist Android.app.backup Android.appwidget Android.view Android.útil Android.bluetooth Android. Speech Android.content Android.content.pm Android.content.res Android.database Android.database. sqlite Android.media
  • 36. Android.graphics Android.graphics.pdf Android.graphics.drawable Link Referencia: http://developer.android.com/intl/es/reference/packages.html
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43. Repositorio de ejemplos en GitHub • https://github.com/Sergiioh/Calculadora