Guia de Aplicaciones Android
Guia de Aplicaciones Android
Guia de Aplicaciones Android
Director:
Observaciones:
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
______________________________
Vo. Bo. Tutor
Ing. JOSE DAVID CELY CALLEJAS
______________________________
Vo. Bo. Evaluador del proyecto
Dedicatoria
A mis padres por el apoyo que me han brindado; a mi esposa y familia en
general. A cada uno de los amiqos y compañeros que conocí en la universidad; a
los profesores que me han aportado en este camino de conocimiento, y a la
Universidad Distrital Francisco José de Caldas, Facultad Tecnológica
Helman Camilo Ávila Cruz
Dedicatoria
A mis padres por el gran apoyo y amor que me han brindado. A todos aquellos
con quienes me he cruzado en la carrera y puedo llamar amigos; a los profesores
por sus enseñanzas, apoyo y disponibilidad brindada; y a la Universidad Distrital
Francisco José de Caldas, Facultad Tecnológica
Julián Camilo Cortés Díaz
Resumen
Lista de Figuras
Fig. 1: Sistema de capas Android ............................................................................................... 16
Fig. 15. Conexión de API para acceder a los servicios de google ........................................ 31
Lista de Tablas
Lista de Diagramas
1.2.1 General
3.1.4 iOS
El sistema operativo iOS (iPhone Operative System), ver tabla 1, es el sistema
operativo actual de todos los dispositivos móviles de Apple, (iPhone, iPod Touch,
iPad, Apple Tv), iOS está diseñado para satisfacer las necesidades de un entorno
móvil, donde las necesidades de los usuarios son ligeramente diferentes.
La interfaz de usuario del iOS se basa en el concepto de manipulación directa
mediante la utilización de gestos multicontacto. Los elementos de control de la
interfaz consisten en deslizadores, interruptores y botones. La respuesta a las
peticiones del usuario es inmediata y proporciona una interfaz fluida. La
interacción con iOS incluye gestos como "tocar fuerte", "tocar de forma más débil",
"sujetar" y "soltar", que tienen definiciones específicas en el contexto del sistema
operativo iOS y su interfaz multicontacto [9].
Características iOS
Modelo de desarrollo Software propietario
Última versión iOS 9.3.1
Escrito en C, C++, Objetive-C, Swift
Interfaz gráfica Cocoa Touch
Plataformas soportadas iPad, iPhone, iPod Touch
Lenguajes soportados Adobe Flash o Java
Método de actualización Mediante iTunes
Tabla 1: Especificaciones del sistema operativo iOS. Fuente: [9].
Cocoa Touch
iOS SDK
El SDK de iOS contiene todas las herramientas necesarias para diseñar y crear el
software para iOS [12]. Está disponible gratuitamente para los
desarrolladores. Sin embargo, para acceder a la descarga del SDK es necesario
registrarse como desarrollador Apple a través de un equipo con sistema operativo
OS.
IDE XCode
Es el entorno de desarrollo integrado (IDE) que gestiona los proyectos de las
aplicaciones, permitiendo editar, compilar, correr y depurar el código. XCode es
la aplicación principal que se utiliza para el desarrollo.
El proceso metodológico para alcanzar cada uno de los objetivos, y las diferentes
actividades que definen el procedimiento para llegar a la solución, se realizará con
una descripción individual de estas actividades donde se plantee a manera de plan
el desarrollo de cada uno de los objetivos.
El primer objetivo específico consiste en generar un reporte de instalación de los
sistemas para desarrollo de aplicaciones en iOS y Android. Es importante realizar
un reporte general donde se ilustre cada uno de los requerimientos del sistema y
procedimientos para la instalación de las herramientas necesarias. Igualmente, es
importante identificar los lenguajes y los Framework principales en los que se
desarrolla aplicaciones para las diferentes plataformas, realizar una descripción
breve de cada uno de ellos, y especificar cuál es la función de cada uno dentro del
proceso de construcción de aplicaciones.
El segundo objetivo específico es documentar el contenido básico a manera de
introducción o resumen sobre los lenguajes de programación necesarios para la
creación de aplicaciones móviles. Para resolver la forma en cómo se abarca este
objetivo es necesario un contenido temático en donde se muestre la manera en
que se maneja la sintaxis (variables, métodos o funciones, clases, etc.) usadas por
los lenguajes de programación.
En el tercer objetivo, que consiste en generar un informe sobre las herramientas y
componentes usados en la interfaz gráfica de usuario, es importante identificar y
describir los elementos principales del Framework, y la manera en que estos
elementos se vinculan con eventos activados por el usuario.
Para el cuarto objetivo, que consiste en elaborar aplicaciones básicas que
muestren las principales características del ambiente general de desarrollo de
aplicaciones para las diferentes plataformas, se realizará de manera secuencial
con la guía, una serie ejemplos sencillos dejando en evidencia el cumplimiento de
las etapas y la comprensión del contenido necesario para el desarrollo de la
aplicación ejemplo.
4. Resultados
4.1.1 Instalación
Windows:
Microsoft Windows 8/7/Vista (32- o 64-bit).
Java Development Kit (JDK) 7
Linux:
GNOME o KDE desktop
GNU C Library (glibc) 2.15 o mayor.
Oracle Java Development Kit (JDK) 7
64-bit Capa de distribución para aplicaciones de 32-bits
Mac OS X:
Mac OS X 10.8.5 o mayor que 10.9 (Mavericks)
Java Runtime Environment (JRE) 6
Android SDK
Introducción a Android :
Dentro de la guía se encuentra una breve introducción al sistema operativo
Android, donde se presenta un corto resumen de las características, parte
de su historia y la arquitectura de Android.
Uso de Emuladores y dispositivos:
En esta sección se muestra la forma de presentar una aplicación con el
emulador AVD de Android, figura 5. Éste proporciona una vista especial
para comprobar si la aplicación hace lo que se desea. Luego de esto de
enseña como subir un APK a un dispositivo Android.
Actividades e intents
Este ítem hace referencia a una de las características principales del
diseño en Android, la reutilización de componentes entre las aplicaciones,
es decir, dos aplicaciones diferentes pueden utilizar una misma
componente, aunque esté en otra aplicación para así evitar la repetición
innecesaria de código, y la consiguiente ocupación de espacio. Los
componentes son los elementos básicos con los que se construye el
proyecto. Las aplicaciones se componen principalmente de actividades.
Habrá tantas actividades como ventanas distintas tenga la aplicación. Sin
embargo, por si solos, los componentes no pueden hacer funcionar una
aplicación. Para ello están los intents. Todos ellos deben declararse en el
AndroidManifest.xml con el mismo nombre que lleve la clase asociada.
Multimedia
En la guía se explica cómo usar las clases necesarias para reproducir
audio, vídeo o imágenes en los formatos más usados, pudiendo interactuar
con archivos contenidos en el propio terminal Android, con archivos
externos al dispositivo, o con aquellos dispuestos a través de Internet. Para
la reproducción utiliza MediaPlayer o JetPlayer, siendo MediaRecorder el
usado para grabar audio o vídeo, o hacer fotografías a través de la cámara
del terminal. Android soporta varios formatos de audio, video e imágenes.
Algunas de ellas como mp3, midi y flac para audio; 3gp y mpeg para videos.
Mapas y ubicaciones
Para poder usar los mapas, Android provee una librería externa que se
encuentra en el paquete com.google.maps. Para poder acceder a los datos
desde el MapView es necesario registrarse en el servicio de Google Maps y
aceptar los términos de uso, con esto se obtendrá una clave alfanumérica
que nos dará acceso.
El registro para obtener la clave consta de dos partes:
Se debe habilitar el api de google maps, para ello debe establecer el login con una
cuenta de google, e ingresar a https://console.developers.google.com/apis/library ,
y determinar ciertos procesos para acceder al API mediante una clave; estos
procedimientos se explican claramente en la guía, los cuales son necesarios
antes de realizar la programación de google maps. La siguiente imagen, figura 15,
representa el enlace de la configuración.
La primera opción para realizar programación para iOS sin contar con un
ordenador Mac, es instalar y ejecutar una máquina virtual para instalar un sistema
operativo OS X 10.10 Yosemite, en el que se instalará el Xcode; y la segunda es
alquilar un servicio conocido como cloudcomputing, que nos permite administrar
un ordenador remoto a través de Internet, en este caso ordenadores Mac [17].
Fundamentos de Swift
Es una sección dedicada a Comprender la sintaxis del lenguaje de
programación Swift, su sintaxis, los métodos y clases usados, también se
encuentra una breve descripción de XCode.
Desempeños:
I. Crear un proyecto Swift que permita habituarse a los
componentes de Xcode en la creación de una interfaz de
usuario, siguiendo los pasos de la guía para la realización de
aplicaciones en iOS.
II. Realizar un ejemplo de aplicación, donde se tenga un
TabBarController inicial con dos pestañas. En la primera de
ellas se tendrá un botón que abre una ventana en la cual hay
un botón que permite volver a cerrarl. En la segunda pestaña
se tendrá un TableViewController con su correspondiente
pantalla de detalle.
III. Crear una aplicación que permita pasar 2 variables del tipo
String de un ViewController a otro utilizando los StoryBoards,
en la primera escena se debe pedir los datos Nombre y
Apellidoy pasarlos a la segunda escena.
Desempeños:
I. Incluir un controlador de vista a la aplicación creada en la
lección anterior, para comprender el manejo y conexión entre
Vistas del Storyboard y los controladores de eventos.
II. Realizar un ejemplo de aplicación en donde se pida al usuario
peso y estatura, que permita calcular el índice de masa
corporal al pulsar un botón, implementando el patrón de
diseño MVC.
Tablas
Sección Enfocada en organizar el contenido sobre celdas y tablas, en
donde se explica cómo diseñar celdas para la correcta distribución de la
información e Identificación de los diferentes tipos de celdas y
componentes de visualización.
Desempeños:
I. Agregar un componente TableViewController que permita
visualizar información obtenida por el usuario en una escena
diferente, para comprender el papel de los delegados de vista
tabla y fuentes de datos.
II. Realizar un ejemplo de aplicación usando TableView que
muestre al usuario una lista de canciones.
Mapas
El objetivo de esta sección de la guía es desarrollar apps utilizando
ubicación y mapas, aprender a usar correctamente los conceptos de
geolocalización y el uso de la información basada en la ubicación para
mantener al usuario conectado con el mundo circundante.
Desempeños:
I. Agregar una escena que usando Mapkit, para la visualización
de mapas en la aplicación que se ha construido, siguiendo la
guía para la realización de aplicaciones en iOS.
II. Realizar un ejemplo de aplicación usando MapKit que muestre
un mapa centrado en la ubicación del usuario.
Conexión
Tema realizado para identificar implementar servicios para acceder a la
información que se encuentra en un servidor mediante conexiones de
internet.
Herramientas: Computador con Xcode 6.1 o superior, Guía para la
realización de aplicaciones en iOS.
Desempeños:
I. Crear una vista en la aplicación que se ha creado con la guía
con capacidad de conectarse a un servidor de datos,
procesarlos, almacenarlos y visualizarlos, usando servicios
web del tipo RESTful. Procesar los datos con el formato
JSON y visualizar los dato en una tabla.
II. Crear una aplicación ejemplo de aplicación que se conecté a
los servicios de clima de Yahoo, y los muestre de forma
tabular.
5. Conclusiones
10. http://www.programadorphp.org/blog/cursos/introduccion-al-ide-de-xcode-objective-
c-ios/
11. http://www.epinom.com/blog/ios-development-primeros-pasos/
12. http://developer.android.com/intl/es/tools/studio/index.html
13. http://www.oracle.com/technetwork/java/javase/downloads/index.html
14. https://fergarciac.wordpress.com/2013/01/25/entorno-de-desarrollo-integrado-ide/
15. http://www.javaya.com.ar/androidya/androidstudioya/index.php?inicio=0
16. http://www.javaya.com.ar/androidya/
17. http://www.aprendeswift.com/2014/06/04/que-necesitamos-para-empezar-a-
programar-en-swift/
18. http://www.adobe.com/es/products/flex.html
19. http://www.androidcrush.com/run-ios-apps-on-android/
20. http://www.xatakamovil.com/sistemas-operativos/cider-la-ejecucion-de-
aplicaciones-ios-en-android-es-posible