Está en la página 1de 6

Unidad 5.

Desarrollo de aplicaciones para Android


Comunicación a través de dispositivos móviles e inalámbricos

5. Desarrollo de aplicaciones para Android1

5.1 Introducción al desarrollo de aplicaciones para Android

Android es un sistema operativo basado en Linux diseñado originalmente para dispositivos ligeros pero
actualmente ya puede soportar el desarrollo de tablets, reproductores MP3, netbooks e inclusive televisores.

Android ofrece herramientas de capturas de pantalla, redirección de puertos, la depuración con puntos de
parada, un visor de estado de procesos ejecutados en el sistema.
Otras cosas como el editor de código para los archivos de configuración, e interfaces gráficas, todo esto es
suministrado en el SDK de Android.

Content Provider

Es una herramienta que posibilita el acceso a información de forma compartida. Es la única manera de facilitar
datos más allá del paquete de aplicación. Permite publicar datos básicos, útiles entre aplicaciones:
información de contactos, imágenes, etc.

Dado que Android usa el Kernel de Linux, este es compatible con la mayoría de los drivers creados para
Linux, facilitando de esta forma muchos desarrollos multiplataforma. Dado a su arquitectura, un programador
puede crear programas en C y compilarlos para Linux ARM (procesador usado en dispositivos móviles).
Puesto que Android es un software libre, las personas interesadas en realizar aplicaciones multiplataforma se
pueden encontrar atraídas más a esta oportunidad; por esta misma razón, se maneja bajo el concepto de
reutilización de código, y con esto pretende estandarizar el desarrollo de aplicaciones para cualquier
dispositivo móvil.

Ventajas de Android OS

 Es de plataforma de código abierto


 Oportunidades de negocio son amplias gracias al Android Market.
 Bajo costo de desarrollo, dado que el código es abierto y el código es reutilizable.
 Con solo saber Java se puede desarrollar para Android.
 Se pueden ejecutar múltiples aplicaciones simultáneamente

1
Documento elaborado por la Ing. Rosa del Carmen Salas.

1
Unidad 5. Desarrollo de aplicaciones para Android
Comunicación a través de dispositivos móviles e inalámbricos

 El usuario puede cambiar de aplicaciones cuando lo desee


 El registro para desarrolladores en realidad es muy bajo, comparado con las ganancias que se pueden
obtener.
 Aceptable nivel de seguridad. Los programas se encuentran aislados unos de otros gracias al concepto
de ejecución dentro de una caja que hereda de Linux.
 Calidad de gráficos y sonido. gráficos vectoriales suavizados, animaciones inspiradas en Flash, gráficos
en 3 dimensiones basados en OpenGL.

5.2 Multimedia

Si tienes experiencia con el diseño de páginas Web habrás advertido grandes similitudes entre HTML y el
diseño de Layouts. En los dos casos se utiliza un lenguaje de marcado y se trata de crear diseños
independientes del tamaño de la pantalla donde serán visualizados. En el diseño web resultan clave las hojas
de estilo en cascada (CSS) que permiten crear un patrón de diseño y aplicarlo a varias páginas. Cuando
diseñes los Layouts de tu aplicación vas a poder utilizar unas herramientas similares conocidas como estilos y
temas. Te permitirán crear patrones de estilo que podrán ser utilizados en cualquier parte de la aplicación.
Estas herramientas te ahorrarán mucho trabajo y te permitirán conseguir un diseño homogéneo en toda tu
aplicación:

Ejemplo de una Definición de la aplicación:

 Propósito: controlar el tiempo de un empleado las horas a cobrar


 Para quien es: Para los supervisores de una empresa quienes necesitan registrar las horas a cobrar
 Cómo lo usaran: en cada reunión con los clientes, al iniciar y terminar una reunión y así conocer cuál
será el tiempo facturable a cobrar
 Funcionalidad central: Controlar y registrar el tiempo de empleado

Inventario de objetos, tareas y conceptos que puede contener un App:

 Objetos:
Son los principales elementos funcionales de su app. Por ejemplo, en una app de calendario, habrá
cosas como días, meses, citas y recordatorios. Dentro de los objetos multimedia podemos incluir los
siguientes:

2
Unidad 5. Desarrollo de aplicaciones para Android
Comunicación a través de dispositivos móviles e inalámbricos

o Texto
o Imagen
o Animación
o Audio
o Video

 Tareas
Son las acciones que suelen ser realizadas sobre objetos, por ejemplo, filtrado, planificación, edición y
creación. Dentro de las cuales podemos mencionar:
o Servicios de localización
o Gestos multitouch
o Acelerómetro

 Conceptos
Son flujos de trabajo o, en algunos casos, una serie de tareas relacionadas que forman un concepto mayor. A
partir de nuestro ejemplo de calendario, un concepto podría ser la búsqueda, lo que implica varias tareas

 Calendarios
Busque eventos en base al rango de fechas o a un identificador único, reciba notificaciones cuando cambien
los registros de eventos, y permita a los usuarios crear y editar los eventos para cualquiera de sus
calendarios.

 Fotos
Android brinda acceso a la biblioteca de fotos del usuario. También puede ser usado para brindar una interfaz
a la cámara, para que las fotos tomadas puedan ser cargadas directamente en su app

Audio y Video
 Las tecnologías con las que cuenta Android le permiten implementar capacidades sofisticadas de audio y
video dentro de su app.

 Los estilos
Un estilo es una colección de propiedades que definen el formato y apariencia que tendrá una vista. Podemos
especificar cosas como tamaño, márgenes, color, fuentes, etc. Un estilo se define en ficheros XML.

3
Unidad 5. Desarrollo de aplicaciones para Android
Comunicación a través de dispositivos móviles e inalámbricos

 Los temas
Un tema es un estilo aplicado a toda una actividad o aplicación, en lugar de a una vista individual. Cada
elemento del estilo solo se aplicará a aquellos elementos donde sea posible.

 Componentes de una aplicación


Existen una serie de elementos clave que resultan imprescindibles para desarrollar aplicaciones en Android.
En este apartado vamos a realizar una descripción inicial de algunos de los más importantes. A lo largo del
libro se describirán con más detalle las clases Java que implementan cada uno de estos componentes.

 Vista (View)
Las vistas son los elementos que componen la interfaz de usuario de una aplicación. Son por ejemplo, un
botón, una entrada de texto,… Todas las vistas van a ser objetos descendientes de la clase View, y por tanto,
pueden ser definidos utilizando código Java. Sin embargo, lo habitual va a ser definir las vistas utilizando un
fichero XML y dejar que el sistema cree los objetos por nosotros a partir de este fichero. Esta forma de
trabajar es muy similar a la definición de una página web utilizando código HTML.

 Layout
Un Layout es un 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. Los Layouts también son objetos descendientes de la clase View. Igual que las vistas los Layouts
pueden ser definidos en código, aunque la forma habitual de definirlos en utilizando código XML.

 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.

4
Unidad 5. Desarrollo de aplicaciones para Android
Comunicación a través de dispositivos móviles e inalámbricos

 Servicio (Service)
Un servicio es un proceso que se ejecuta “detrás”, 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.

 Intención (Intent)
Una intención 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

Adicional a las herramientas antes mencionadas es importante mencionar las herramientas con las que
cuenta Android por pertenecer a Google pueden ser aplicadas a nuestros desarrollos:

 Google Maps
La utilización del popular servicio Google Maps es una de las posibilidades más atractivas de Android. En
efecto, un gran número de las aplicaciones presentadas al concurso de desarrolladores propuesto por Google
utilizan estas bibliotecas con fines muy distintos

 Google Analytics
Es el más funcional si cuentas con un sitio de Internet. A través de esta herramienta tan completa pero fácil de
usar puedes revisar en todo momento y con cifras actualizadas el tráfico de tu sitio. De esta manera, sabrás
cuáles son los nodos o notas más vistos, el tiempo de visita, perfil de los usuarios y fuentes de tráfico, entre
otros. Además encontrarás las palabras clave de tu sitio.

 Google Gmail
A pesar de que esta herramienta te parezca obvia, la verdad es que tiene gran utilidad en tu negocio.
El servicio de correo electrónico de Google está programado para abrirse desde cualquier dispositivo, además
tiene suficiente espacio, más de 25 GB para almacenar todo tipo de información, así como acceso directo a
Google Docs, Google+ y las búsquedas. También tiene un servicio de chat y puedes acomodar tus mails
como prefieras, sin duda la mejor opción en e-mail.

5
Unidad 5. Desarrollo de aplicaciones para Android
Comunicación a través de dispositivos móviles e inalámbricos

 Google Calendar
Es una eficiente plataforma que permite organizar tus horarios y eventos en tiempo real y actualizarlos desde
cualquier ubicación. Es posible programar citas con empleados o clientes, a los cuales se es manda un mail y
se les hace una invitación. Organizar horarios vía online es algo que todo emprendedor debe hacer.

5.6 Herramientas para generar aplicaciones Android

5.6.1 iBuildApp

iBuildApp es una herramienta que ya se encontraba disponible para crear aplicaciones para iOS y que ahora
extiende su uso a Android permitiendo crear aplicaciones desde cero pero sin reunir conocimientos de
programación.

Su uso intenta facilitar todo lo posible la creación de aplicaciones, para ello dispone de un editor que permite
desarrollar desde el aspecto visual sin tener que entrar a tocar ningún código. Esto se realiza de forma on-line
a través de su interfaz web que para facilitar aún más las cosas pone a disposición del usuario plantillas ya
configuradas (restaurantes, deportes, música, redes sociales, etc). El servicio que ofrece iBuildApp no se
queda sólo en la creación de aplicaciones de forma gratuita sino que como decimos también permite subir
contenido, alojar las aplicaciones creadas y actualizarlas.

Referencias:

Instantly Create Your Own Mobile App. iBuildapp. Recuperado de: http://es.ibuildapp.com/

Diploma de Especialización en desarrollo de aplicaciones para Android. Tutoriales Android. Recuperado de:
http://www.androidcurso.com/index.php/tutoriales-android-fundamentos

Herramientas de Google para el usuario. Machine Tools Institute. Recuperado de:


http://www.imh.es/es/comunicacion/dokumentazio-irekia/manuales/herramientas-de-google-para-el-usuario