sl11_lectura
DESCRIPTION
Software LibreTRANSCRIPT
Software Libre
SOFTWARE LIBRE
1
Sesión No 11
Nombre: Soluciones de software libre con Android. Tercera parte.
Objetivo: Al final de la sesión el alumno conocerá los diferentes modelos de
aplicaciones para Android.
Contextualización ¿Por qué consideras que Android ha tenido tanto éxito entre los usuarios
de dispositivos móviles?
¿Consideras que su posicionamiento en el mercado tiene que ver con el hecho de que no pagas por hacer uso de las aplicaciones realizadas en
Android?
Con la proliferación actual de los dispositivos inalámbricos y con el uso de redes
abiertas, desarrollar aplicaciones y llevarlas al usuario común se ha vuelto un
tema relevante. Las aplicaciones desarrolladas en Android prácticamente se
usan en todos los campos y áreas del conocimiento y no nada más para el
entretenimiento.
El éxito de las aplicaciones desarrolladas en Android, es que además de estar
internamente bien programadas y mostrar un aspecto dinámico deben de ser
atractivas para el usuario.
A lo largo de la sesión revisaremos los principales componentes de las
aplicaciones utilizadas por este sistema operativo.
SOFTWARE LIBRE
2
Introducción al Tema
¿Por qué consideras que Android ha tomado relevancia?
La arquitectura de Android permite que el entorno de desarrollo sea tan
personalizable como se desea, ya sea por las tendencias que va imprimiendo el
mercado o por los propios aspectos técnicos del sistema operativo, que se
vuelve atractivo para los programadores
Si bien es cierto que el objetivo final es el de llegar a programar en Android, es
necesario que podamos revisar previamente los modelos de aplicaciones para
dar inicio con las aplicaciones básicas.
Partimos del hecho de que ya se tiene instalado el entorno de programación
para dar inicio con el desarrollo de las aplicaciones.
Blugraphic in Graphics. Logo Android.
http://www.freepik.com/free-vector/logo-android_701998.htm
SOFTWARE LIBRE
3
Explicación Modelo de aplicaciones
¿Cómo son las aplicaciones Android?
Las aplicaciones están escritas en Java y empaquetadas en formato Android pac
kage (.apk).
Cada aplicación es independiente.
Se ejecuta en su propio proceso de Linux.
Cada proceso tiene su propia máquina virtual Java.
Cada aplicación tiene asignado un ID de usuario de Linux.
¿Cuáles son los componentes de una aplicación Android?
Activities
Services
Broadcast receivers
Content providers.
Código del receptor
SOFTWARE LIBRE
4
¿Qué es una activity y para qué sirve?
Presenta una interfaz de usuario enfocada a una tarea que el usuario desea
realizar.
Reproducir un archivo de audio, acceder a una determinada URI, realizar una
llamada telefónica.
Se puede pensar en una actividad como el elemento análogo a una ventana
en cualquier otro lenguaje visual.
Una aplicación Android normalmente consistirá en una o más actividades que
trabajan de modo colaborativo.
Una de las actividades que componen la aplicación será la que se ejecute al
iniciarse la aplicación.
¿Qué es un servicio Android?
A diferencia de una Activity, no está asociado a una interfaz de usuario.
Sirve para realizar tareas en background durante un tiempo indefinido.
Ejemplo: Reproductor de audio.
Necesita de una interfaz para interactuar con el usuario (activity).
Inicio de la reproducción, parada, etcétera.
Otros componentes o aplicaciones pueden acceder al servicio.
Stockvault. Mp3, player, video Photo. http://www.freepik.com/free-
photo/mp3-player--video_535987.htm
SOFTWARE LIBRE
5
¿Qué es un Broadcast receiver?
No realizan acciones por sí mismos.
Recibe eventos de tipo broadcast (eventos globales) y reacciona ante ellos.
Muchos de ellos están originados por el sistema.
Batería baja, SMS recibido, Tarjeta SD insertada.
Las aplicaciones pueden lanzar un broadcast si necesitan que otra aplicación
realice alguna acción por ellas.
Un broadcast receiver no tiene interfaz de usuario, pero puede lanzar una
para atender la petición.
¿Qué es un Content provider?
Es el mecanismo que se ha definido en Android para compartir datos entre
aplicaciones.
Es posible compartir datos de nuestra aplicación sin mostrar detalles sobre
un almacenamiento interno, su estructura, o su implementación.
Los datos pueden estar almacenados en cualquier lugar: archivo,
SQLite, Internet.
Nuestra aplicación podrá acceder a los datos de otra a través de los content
provider que se hayan definido.
Hace uso de un ContentResolver para acceder a los datos expuestos por un
content provider.
¿Cómo se activan los distintos componentes?
Al recibir una petición desde un Content resolver.
Activities, Services y Broadcast receivers.
Al recibir un mensaje asíncrono llamado Intent.
SOFTWARE LIBRE
6
Intent
Es el elemento básico de comunicación entre los distintos componentes
Android. Se pueden entender como los mensajes o peticiones que son
enviados entre los distintos componentes de una aplicación o entre
distintas aplicaciones.
Mediante un intent se puede mostrar una actividad desde cualquier otra,
iniciar un mensaje broadcast, iniciar otra aplicación, etcétera.
(AprendeAndroid.com, 2014, s/p).
SOFTWARE LIBRE
7
Conclusión
Las herramientas desarrolladas en Android permiten construir un entorno
suficientemente robusto para construir y probar las aplicaciones Android.
Los servicios que se pueden ofrecer a través de las aplicaciones van desde solicitar
ayuda en caso de alguna emergencia, alarmas sísmicas, noticias, tráfico, mapas e
inclusive juegos.
Todas las aplicaciones están basadas en la misma arquitectura, librerías, tiempos de
ejecución de las aplicaciones (Runtime) soportadas por Linux.
Con todo lo revisado anteriormente, podemos estar en condiciones de revisar algunas
aplicaciones básicas en Android.
Aplicaciones
Librerías
Linux
Runtime
SOFTWARE LIBRE
8
Para aprender más
Si deseas profundizar en estos conceptos de programación puedes encontrar
ejemplos útiles en el sitio:
Developers. (2014). Samples. Consultado el 22 de diciembre de 2014:
http://developer.android.com/samples/index.html
SOFTWARE LIBRE
9
Actividad de Aprendizaje
Instrucciones:
Con la finalidad de reforzar los conocimientos adquiridos a lo largo de esta
sesión, ahora tendrás que realizar una actividad en la cual describas cinco
aplicaciones que se utilicen en campos de conocimiento que no son educativos,
los cuales estén basados en aplicaciones Android, puedes incursionar en
campos como la cocina, la localización o las noticias.
Puedes realizarlo en cualquier programa, al final tendrás que guardarlo como
imagen en formato JPG, con la finalidad de subirlo a la plataforma de la
asignatura.
Recuerda que esta actividad te ayudará a entender y apropiarte del concepto de
software libre y las principales herramientas que hacen uso de este concepto.
En esta actividad se tomará en cuenta lo siguiente:
• Tus datos generales
• Referencias bibliográficas
• Ortografía y redacción
• Título
• Representación gráfica.
SOFTWARE LIBRE
10
Bibliografía
Haseman, C. (s/f). Creating Android Applications: Develop and Design. Estados
Unidos: Ed. Peachpit Press.
Wei-Meng, L. (s/f). Beginning Android™ Application Development. Estados
Unidos: Ed. Wiley Publishing, Inc.
Cibergrafía Aprende Andord.com. (2014). Curso Android. Consultado el 22 de diciembre de
2014: http://www.aprendeandroid.com/l3/fundamentos3.htm