Instrucciones y estructuras

10
INSTRUCCIONES Y ESTRUCTURAS MÁS IMPORTANTES DE UN SDK PARA DISPOSITIVOS MÓVILES Universidad Politécnica de Tecámac Jazmín Reyes B. 2817IS Ingeniería en Software

Transcript of Instrucciones y estructuras

Page 1: Instrucciones y estructuras

INSTRUCCIONES Y ESTRUCTURAS MÁS

IMPORTANTES DE UN SDK PARA DISPOSITIVOS

MÓVILES Universidad Politécnica de Tecámac

Jazmín Reyes B.2817IS

Ingeniería en Software

Page 2: Instrucciones y estructuras

SDK

Cuando se desarrolla una aplicación (para dispositivos móviles o de escritorio), es importante contar con herramientas adecuadas que nos asistan durante el proceso para ahorrar tiempo y esfuerzo sin descuidar la calidad del resultado final. Si sólo nos valiéramos de un lenguaje de programación, un editor, un compilador y nuestra propia capacidad de resolución de problemas, deberíamos invertir demasiado tiempo en funciones que podrían ser elementales.

Un SDK (Software Development Kit), o kit de desarrollo de software, es un conjunto de herramientas que ayudan a la programación de aplicaciones para un entorno tecnológico particular. Es decir, las aplicaciones desarrolladas sobre el SDK estarán destinadas a algún sistema operativo, plataforma hardware, consola de videojuegos o paquete de software en especial. Son muchos los recursos que puede contener un SDK.

Page 3: Instrucciones y estructuras

COMPONENTES DE UNA APLICACIÓN ANDROID

ACTIVITYÉste es el componente principal de la interfaz gráfica de una aplicación en Android. A cada Activity se le asigna una ventana en la cual se dibuja la interfaz de usuario, con la que el usuario podrá interaccionar para realizar las diversas acciones que hayamos contemplado en la aplicación.Por lo general, una aplicación está formada por diferentes Activities, que están más o menos ligadas entre sí. Cuando se suceden varias, éstas se van almacenando en una pila mediante el mecanismo de LIFO (Last In – First Out: la última que entra en la pila es la primera que sale) y cuando el usuario pulsa el botón atrás, se extrae la Activity actual de la pila y se reanuda la anterior Activity situada allí.Cada Activity que creemos, la tenemos que definir en el AndroidManifest.xml (explicamos este fichero en un siguiente apartado) con la etiqueta <activity>.Para iniciar una Activity, podemos utilizar dos métodos (como veremos más adelante):

Método Context.startActivity()Método  Context.startActivityForResult(), cuando queramos que se devuelva algún resultado.

Page 4: Instrucciones y estructuras

SERVICELos services (servicios) son componentes sin interfaz gráfica que se ejecutan en segundo plano. Son llamados a través de otro componente, como puede ser una Activity, y seguirán ejecutándose en segundo plano aunque la Activity haya finalizado o, incluso, aunque hayamos salido de la aplicación.Cada servicio que creemos lo tenemos que declarar en el AndroidManifest.xml mediante la etiqueta <service> . Para ser iniciados podemos usar dos métodos:

Método Context.startService() Método  Context.bindService()

COMPONENTES DE UNA APLICACIÓN ANDROID

Page 5: Instrucciones y estructuras

COMPONENTES DE UNA APLICACIÓN ANDROID

INTENTUn Intent es el elemento básico de comunicación entre los componentes que estamos describiendo, es decir, mediante un Intent se podrá llamar a una Activity, iniciar un servicio, enviar un mensaje broadcast, iniciar otra aplicación, etc.Su uso más importante es para iniciar Activities, por lo que puede considerarse como la unión entre Activities. Más adelante veremos cómo hacer esto.Los objetos Intent están formados por un paquete de información. Contienen información de interés para el componente que la recibe, como la acción que será ejecutada y los datos necesarios, más la información de interés para el sistema Android, como la categoría del componente que manejará el Intent y las instrucciones de cómo lanzar la Activity.Principalmente pueden contener lo siguiente:Nombre de componente: el nombre del componente que manejará el Intent. Es una combinación del nombre de la clase del componente y el nombre del paquete especificado en el AndroidManifest.xml de la aplicación donde reside el componente.

ACTION_CALL: Inicia una llamada telefónica. ACTION_EDIT: Muestra datos para que el usuario pueda editarlos (como los datos de un contacto). ACTION_MAIN: Indica la Activity principal de una aplicación, la que se ejecutará al iniciarse.

Page 6: Instrucciones y estructuras

COMPONENTES DE UNA APLICACIÓN ANDROID

CONTENT PROVIDERUn Content Provider es un componente destinado a compartir datos entre aplicaciones. Dichos datos pueden ser almacenados en el sistema de archivos, en una base de datos SQLite o en cualquier otro lugar que sea accesible desde nuestra aplicación.Un ejemplo de Content Provider es el que utiliza Android para gestionar la información de un contacto, mediante el cual cualquier aplicación podrá acceder a estos datos haciendo una petición al método query() sobre la interfaz ContentResolver.

Page 7: Instrucciones y estructuras

COMPONENTES DE UNA APLICACIÓN ANDROID

BROADCAST RECEIVERUn Broadcast Receiver es un componente que detecta y reacciona frente a mensajes globales del sistema, como puede ser batería baja, SMS recibido, llamada recibida, etc. Además de esto, una aplicación también puede iniciar un Broadcast Receiver.Al igual que ocurría con los Services, un Broadcast Receiver tampoco muestra ninguna interfaz gráfica.Al igual que los servicios y Activities, los Broadcast Receiver también los tenemos que registrar, pero esta vez tenemos dos formas de hacerlo:

Método Context.registerReceiver() declarándolos en el AndroidManifest.xml con la etiqueta <receiver>

Page 8: Instrucciones y estructuras

ESTRUCTURA DE UNA APP

Directorio SRC Se encuentra toda la lógica de aplicación, todas las clases programadas en JAVA. Dentro de ella puedes definir

distintos paquetes, donde puedes dividir en capas tus reglas de negocio.

Android Library Aquí se encuentran todas las librerías propias del SDK de android, dependiendo la versión elegida al crear el

proyecto tendrá una versión u otra.

Directorios RES Se encuentran todos los archivos con los recursos que usan la aplicación. Las imágenes, archivos de idiomas,

estilos, etc.. Un pequeños listado de estos puede ser: Drawable Carpeta con todas las imágenes de la app. Se subdivide en múltiples carpetas desde la versión 1.6, que contienen las

imágenes en distintas resoluciones y tamaños que se usarán dependiendo el dispositivo usado. Directorio layout se encuentran las distintas “pantallas” de la aplicación, es decir, los archivos xml con las interfaces visual

asociadas a las activities. Values Carpeta con los xml de contenido de la app. En ella puede haber definidas las constantes de la aplicación, dando la

posibilidad del multidioma.

Page 9: Instrucciones y estructuras

ESTRUCTURA DE UNA APP

DIRECTORIO BINSe encuentran todos los archivos generados por la propia app. Como sabeis, android usa la máquina virtual dalvik, primero se traduce a los típicos archivos .class de java y posteriormente es traducido a los archivo .dex propios de android. El ejecutable de la aplicación "apk", sería el equivalente a los "exe" de windows. Es el archivo que deberías instalar en cualquier teléfono android para probar la aplicación. DIRECTORIO GENEn esta carpeta esta el archivo R.class, éste contiene lo identificadores los recursos usados por tu proyecto: imágenes, layout, etc..

Page 10: Instrucciones y estructuras

ESTRUCTURA DE UNA APP

DIRECTORIO ASSESTSCarpeta donde se encuentran los archivos auxiliares de tu aplicación: imágenes, audios, vídeos... la diferencia con los que se encuentran con la carpeta "RES", es que los archivos incluidos aquí no generarán un identificador dentro del archivo R.class anteriormente descrito. Para usar estos archivos, en vez de referenciarlos por un ID, habría que usar la ruta física como cualquier otro archivo DIRECTORIO LIBSe encuentran las librerías externas importados que necesites. Por ejemplo, si deseas meter publicidad en tu app, aquí ira la librería necesaria para ello. ANDOID MANIFESTArchivo básico de configuración de toda aplicación android. En el se definen todas las activities de la app, sus permisos, etc..