SL11_Lectura

11
Software Libre

description

Software Libre

Transcript of SL11_Lectura

Page 1: SL11_Lectura

Software Libre

Page 2: SL11_Lectura

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.

Page 3: SL11_Lectura

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

Page 4: SL11_Lectura

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

Page 5: SL11_Lectura

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

Page 6: SL11_Lectura

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.

Page 7: SL11_Lectura

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

Page 8: SL11_Lectura

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

Page 9: SL11_Lectura

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

Page 10: SL11_Lectura

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.

Page 11: SL11_Lectura

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