Anda di halaman 1dari 38

FUNDAMENTOS DE TECNOLOGÍAS

MÓVILES

José Sulla Torres


Agenda

• Dispositivos móviles.
• Plataformas móviles.
• ¿Qué es Android?
• Ventajas y desventajas.
• Arquitectura Android.
• Actividad, Servicio y Tarea.
• Herramientas.
• Android Virtual Devices.
Dispositivos móviles

• Son aparatos de pequeño tamaño, con capacidades


limitadas de procesamiento, con conexión a una red,
y memoria limitada, diseñados para alguna función
específica.
SISTEMAS OPERATIVOS EN EL MERCADO ACTUAL
Plataformas de desarrollo para dispositivos moviles
Juegos, email, navegadores
Aplicaciones GPS, etc..

Java Micro Edition, SDK


Plataforma Móviles

APIs Android, .NET compact, etc…

Ambiente de
Java VM, CLR, etc…
ejecución
Android , Windows Phone,
S.O. iOS, etc…

CPU, memoria, WiFi,


Hardware almacenamiento, GPS, etc…
¿Qué es Android?

• Android es una pila de


software para dispositivos
móviles que incluye un
sistema operativo,
middleware y aplicaciones
clave.
Licencia

• Android
• Sistema operativo (Licencia Apache)
• Plataforma de desarrollo (Licencia Apache)

• Licencia Apache
• Open Source.
• Permite a los fabricantes añadir extensiones
propietarias sin ponerlas en manos de la
comunidad del software libre
Aspectos positivos

Código abierto
• Valor añadido para todos
• Mantenibilidad
• Seguridad informática
• Transparencia del uso de sensores
Servicios gratuitos de Google
Aspectos negativos

• Obligatorio log-in con el ID de Google


(dependencia)
• Constante intercambio de datos con Google
• Envío de localización (desactivable)
• Los usuarios no están concienciados de la
dependencia de los servidores de Google y lo
aceptan sin más.
• Aunque el SO sea libre, gran parte de su valor
está en los servicios gratuitos de Google, que no
son libres ni conocemos el tratamiento que dan a
nuestra información privada.
• Su sistema operativo está basado
Android en una versión modificada de
Linux para dispositivos móviles
creado por Google y la Open
Handset Alliance.
• Se ejecuta en la plataforma de
varios equipos.
• Proporciona APIs para acceder al
hardware y capacidades de
software.
• Las aplicaciones se ejecutan en
Dalvik Virtual Machine.
• Permite utilizar código nativo.
OHA (Open Handset Allianse)

• Es una alianza de negocios consistente en 47


compañías para desarrollar estándares abiertos para
dispositivos móviles
Dalvik Virtual Machine

• Dalvik es la máquina virtual que utiliza la plataforma


para dispositivos móviles Android. Permite ejecutar
aplicaciones programadas en Java.
¿Qué se debe considerar?

• Pequeñas salidas.
• Bajo poder computacional.
• Memoria limitada.
• Diferentes capacidades (touch-
screen, camera, GPS)
• Batería limitada.
• Preferente multi-tarea
(especialmente cuando un evento de
entrada ocurre, como una llamada de
entrada o SMS)
Arquitectura de Android
Conceptos

• Actividad, Servicio y Tarea


• Procesos y subprocesos
• Intents,
• BroadCastRecivers,
• ContentProviders,
• AndroidManifest
Actividad,
Servicio y Tarea
• Actividad: Parte visible
de aplicaciones. Una
aplicación puede constar
de una o más
actividades.
• Servicio: parte de la
solicitud que no tiene
interfaz de usuario.
• Tarea: pila de
actividades que
representa una
aplicación en ejecución.
Procesos e hilos en Android

• Una actividad y el servicio no es necesariamente


proceso.
• Actividades y servicios pueden compartir el mismo
proceso.
• El archivo de manifiesto (AndroidManifest.xml)
especifica cómo el proceso se asignan a las
actividades.
• El hilo principal de una actividad deberá ejecutar
operaciones que requieren mucho tiempo.
• Todas las operaciones que requieren mucho tiempo
dentro de una actividad deben ejecutar en hilos
separados.
Intents

• Es un objeto que representa una acción a realizar.


• Puede resolver de manera explícita o implícita.
• Puede ser resuelto por una actividad, un servicio,
o un BroadcastReceiver ContentProvider.
ContentProvider

• ContentProviders son la manera de


compartir los datos persistentes a
través de múltiples aplicaciones.
• Un ContentProvider es identificado
por un URI.
• La consulta ContentProvider es
similar a SQL.
• ContentProvider son invocados por
ContentResolver
Requerimientos de herramientas

»Java JDK
»Android SDK
» Android SDK Tools
» Configuring the Android
SDK Manager
»IDE (Android Studio)
» Android Development
Tools (ADT)
Android Virtual Devices (AVDs)
GDK
• Glass Development Kid
• Android 4.4.2 + específicos API’s Glass
• Uso de estándar ADT
Anatomía de una aplicación Android

• Carpeta src (fuentes): esta carpeta


contiene el código fuente organizado
en paquetes.
• manifests/AndroidManifest.xml:
• java /: Esta es una carpeta que
contiene las clases de Java
• res (recursos): esta carpeta contiene
todos los recursos necesarios para la
aplicación.
• build.gradle: Este archivo es el script
utilizado para construir nuestra
aplicación.
activity_main.xml
activity_main.xml
res
• Dentro de la carpeta”res”
encontraremos todos
aquellos recursos
tercerizados para nuestra
aplicación.
• Esta práctica de excluir
los atributos de la
aplicación a través de
archivos externos,
permite reducir la
complejidad de diseño en
las interfaces.
MainActivity.java
Métodos Android

• AppCompatActivity: Es la Clase base para las


actividades.
• onCreate (método): es invocado cuando la
actividad se inicia. Recibe como parámetro un
objeto de la clase Bundle, que contiene el estado
anterior de la actividad en caso de que haya sido
suspendida.
• setContentView(método): define el recurso que se
quiere mostrar: (XML) diseño de la interfaz o el
valor de algún componente.
AndroidManifest.xml

• Presente en todo proyecto Android.


• Declaración de metadatos de la aplicación
• Nombre del paquete y de la aplicación
• Actividades, actividad principal
• Servicios
• Receptores broadcast
• Proveedores de contenidos
• Permisos
• API mínima, librerías.
AndroidManifest.xml
Practica de entrada

1. ¿Qué es Android?
2. ¿Qué son actividades, servicios y tareas?
3. ¿Cómo se genera el archivo Android Package Kit?.

Anda mungkin juga menyukai