Curso de programación Android
Enviado por quelachetuol • 7 de Octubre de 2015 • Apuntes • 2.324 Palabras (10 Páginas) • 146 Visitas
Introducción a la Programación en Android
Introducción
- Instalación de ambiente: Java, Android Studio, Genymotion.
- Objetivo del curso:
Que el participante adquiera los conocimientos necesarios para desarrollar aplicaciones para Android de calidad.
- Pre-requisitos:
Java, objetos, encapsulamiento
- Temas a revisar en el curso
Android, FragmentManager
Estado actual del Desarrollo en Android
- Plataforma de Android
En Julio de 2005 se funda la compañía Android, con la finalidad de desarrollar un sistema operativo para cámaras digitales. Posteriormente pudieron utilizar Android en diferentes dispositivos móviles y la compañía fue comprada por Google.
Basado en el kernel de Linux, Android fue liberado en OpenSource, factor que ayudó al desarrollo de diferentes aplicaciones destinadas a dicho sistema operativo. El resultado fue un gran incremento en el número de usuarios, alcanzando en 2014 el 81% del mercado. En 2013, existían 1 500 000 dispositivos activados diario.
Actualmente, reportado en Q1 2015, Android ocupa el 78% del mercado, mientras que su competencia iOS cuenta con el 18%. Windows pone ocupa el 3% y RIM de Blackberry el 1%.
En Google Play en 2013 había 48 millones de apps descargadas.
- Futuro
Ouya, consola de videojuegos con Android.
Android wear.
Televisiones.
Android: Sistema operativo para funcionar en diferentes dispositivos.
Project Brillo, basado en kernel Android. Internet de las cosas. Protocolo de comunicación weave.
Anatomía del sistema operativo
- Kernel de Linux.
Display Driver | Camera Driver | Bluetooth | Flash Memory Driver | Binder (IPC) Driver |
USB Driver | Keypad Driver | WiFi Driver | Audio Drivers | Power Management |
- Bibliotecas nativas
Surface Manager* | Media Framework | SQLite |
OpenFL|ES | FreeType | WebKit |
SGL | SSL | Libc |
*Creado para Android
- Ambiente de ejecución (Android runtime)
Core Libraries |
Dalvik Virtual Machine: interprete de archivos |
Java class, dex, apk
- Application Framework
Activity Manager | Window Manager | Content Providers | View System | Notification Manager |
Package Manager | Telephony Manager | Resource Manager | Location Manager | XMPP Service |
- Applications
Home | Contacts | Phone | Browser | … |
Android manifest, archivo que permite relación. Permite seguridad pues las aplicaciones no comparten información.
Tour Android Studio
- Módulos
New Project:
Application name
Company domain
Package name
Android Platform Version (Phone and Tables)
Actividades (blank, con fragmentos: diferentes tamaños de pantalla, login, etc.)
Layout (interfaz de usuario)
Fragment Layout
Title
Navigation Drawer
Patrón de diseño de software: Skeleton
Módulo: componente más importante. Forma de organizar proyectos.
>Visualización de diferentes tipos de archivos: Android, Project, Problems…
Carpetas
Mobile: manifest, java, res (drawable, layout, menú, mipmap, values)
Tv:
Wear:
Build.gradle: configuración.
Herramientas complementarias
Debug Bridge: Enlaza el emulador o dispositivo en el que se corre una aplicación, con Android Studio. Consola muestra mensajes, se pueden capturar pantallas.
Device Monitor: Monitorea el estado del dispositivo, hilos de ejecución, estado de la memoria, variables en ejecución, simulación de velocidad de red. Android Virtual Device Manager / Genymotion.
Previsualización de UI: Diferentes layout para dar arquitectura a la interfaz. Previsualización en Android Studio.
Gradle: Configuración para la aplicación. Fácil importación de configuración; definición de dependencias. Construcción de proyectos robustos.
Recursos gráficos en Android y Creación de Vistas
Mi primera aplicación en Android
Objetivo: Entender los conceptos fundamentales para desarrollar aplicaciones modernas en Android SDK como Navigation Drawer, RecyclerView y Fresco en un proyecto real.
- Ejemplo Hola Mundo
- Carpeta Res
- Main.xml
- @string/hello
- AndoidManifest.xml
- MainActivity.java
1. Recursos: Todo lo que no es código Java. Imágenes, archivo de texto, estilos, archivos de configuración.
-Drawable: NinePatch, clase que permite el manejo de imágenes en diferentes tamaños. Ver GradientDrawable.
http://radleymarx.com/blog/simple-guide-to-9-patch/
-Layout: ver activity_main.xml (punto 3)
-Menu: Configuración del menú de la aplicación
...