o bienvenidos al google developers academy esta es la segunda parte del curso introducción de android sdk creado por enrique díaz del inegi a 90 y claro en méxico si este es tu primer contacto con el curso te recomiendo ir a ver la primera parte y hacer los ejercicios hola bienvenidos a la lección 2 min hombre es en riccheri us y recuerde que la elección pasada aprendimos tres cosas importantes sobre el framework android primero revisamos la historia y de dónde viene después analizamos estadísticas y el crecimiento que ha tenido y finalmente nos emocionamos con la relevancia y el potencial que tiene la plataforma en esta lección aprenderemos 5 cosas muy valiosas primero conoceremos cómo funciona el framework android después sacaremos la estructura de una aplicación tercer punto que queremos dalvik de book monitor system y para qué nos sirve además revisaremos el android sdk manager y finalizaremos creando un dispositivo virtual con android virtual device manager conociendo el framework android en la parte más baja de la vía y tenemos seis componentes muy importantes que hereda directamente del kernel de linux el primero se llama wake blocks y lo que hace básicamente es evitar el desperdicio de batería apagando la pantalla automáticamente esto significa que nativamente linux no lo trae sin embargo google lo desarrolló para las plataformas móviles en particular 2 low memory killer es un proceso que nos permite eliminar automáticamente aplicaciones que ya no estás utilizando esto con el objetivo de que tengas espacio en memoria para poder abrir otras apps van der es un proceso que es mandado a llamar dentro de las clases ya va que nosotros construimos en la parte más alta del stack el objetivo de vender es poder tener espacios de memoria que son asignados como recursos para poder tener y crear ya sea actividades o intense o servicios 4g men es un proceso que nos permite crear espacios de memoria que son compartidos tanto para el sistema operativo como para el usuario final 5 alarma es un proceso que proviene del kernel de linux que nos permite mantener el estado de un reloj hereda de realtime clock y justo tal cual es la alarma y el reloj que tiene internamente nuestro teléfono y por último 6 blogger el cual es un proceso también de cualquier sistema operativo que nos permite estar pensando y reconociendo qué es lo que está enviando como un mensaje en la consola del sistema operativo la diferencia más grande en android es que en vez de usar sockets utiliza woofers y esto significa que puedes acceder a ese contenido a esa información en tiempo real otra parte importante de libia son las bibliotecas que a pesar de que no son desarrolladas enteramente por google nos permiten agregar funcionalidad a nuestras aplicaciones hay cuatro importantes que me gustaría mencionar open ssl el cual nos permite tener cierta seguridad y cifrado para las aplicaciones skylight la cual es una herramienta para poder crear bases de datos en skylight webkit el cual es otra biblioteca que nos permite implementar nativamente el navegador webkit y por último bajo nick que es el compilador de cee que utiliza en vez de gsc la máquina virtual dalvik a diferencia de cualquier otra máquina virtual está basada en registros eso hace que se reduzca en un 30% el tamaño de nuestros ejecutables en un ambiente normal en java en el lenguaje java tenemos archivos punto class que son ejecutados a través de java compairé pasando por el proceso se pueden ejecutar en la máquina virtual en java y muy diferente de como lo harías en una máquina virtual dalvik porque tienes un archivo punto class que pasan por el archivo el proceso de c's y se convierte en un código del bic la última parte de libia y scene algo que se puede acceder desde código java el cual nos permite crear nuestras propias aplicaciones y además nos permite acceder a servicios de sistema con una sola línea de código dos ejemplos uno puede ser notification manager que nos permite crear notificaciones y power manager el cual nos permite prender o apagar a nuestro gusto la pantalla por último la última capa dentro de nuestro stack son las aplicaciones tal cual ya sea las construyamos nosotros o se puedan descargar desde google play a continuación vamos a ver la estructura archivos en un proyecto android y es muy importante para que tú como programador entiendas qué archivos tienes que modificar aquí en el vídeo yo ya tengo un proyecto que inicial hice vamos a entrar a la carpeta de shorts luego al paquete mx punto android line punto hola mundo y dentro podemos ver que tenemos algo que se llama main activity punto java este es un archivo java tal cual la diferencia es que hereda de activity que es la clase que veremos después y tiene los métodos muy importantes con create ingrid options mini no nos vamos a meter a más detalle vamos a seguir viendo los demás archivos y vamos a entrar a una carpeta que se llama jim en la carpeta yen podemos ver que hay un vil conflicto ya va y el cual te dice expresamente que no lo modifique es esto nos sirve a nosotros porque cuando tú estás construyendo una aplicación en android automáticamente construye este archivo porque nos permite a nosotros mantener control el archivo r punto java hace un manejo de imágenes y dependencias de nuestro proyecto pongan mucha atención en esta parte porque si se pueden dar cuenta tenemos la parte de atributos siemens gravables irish layouts minus strings todos estos elementos están asignados a un espacio memoria que controla android automáticamente pongan atención particular a este dice la unión porque después lo vamos a ver y vamos a entender qué es lo que está haciendo internamente el framework android ahora podemos checar el limpia y de la versión 4 en donde nos permite agregar funcionalidad hacia versiones anteriores de el sdk de android estamos también entrando a la carpeta bien en donde básicamente son archivos que genera el framework que son ejecutables tenemos la carpeta real que en este momento no tiene nada y también otro archivo que se llama android manifest y la carpeta lips que estamos viendo actualmente no tiene más que otro archivo llar el cual es la dependencia que revisamos anteriormente también es muy importante porque aquí tenemos todos los recursos de nuestro proyecto y el concepto de recurso en android es muy simple todo aquello que no sea un archivo en java es un recurso ya sea en archivos xml archivos que den arquitectura al como estamos viendo nuestra nuestra aplicación selectores botones etcétera etcétera etcétera por ejemplo aquí estoy viendo es el launcher punto png y si se recuerdan bien en el archivo r teníamos justamente s esa variable lo cual está haciendo que estás en el framework es definir una un espacio de memoria para poder tener control de ese de ese archivo y después mostrarla en nuestra aplicación esta carpeta de layout tenemos un archivo que se llama activity main punto xml y como pueden ver es una interfaz gráfica es importante aquí entender que un archivo xml nos permite tener una interfaz de usuario y manipular y crear elementos con los cuales el usuario interactúa también dentro de la carpeta min yo tenemos un archivo xml se llama min ya que no vamos a revisar en esta elección values tenemos tres archivos xml dimensions strings también en este otro identificador en el sufijo s w 600 de pe pp básicamente nos ayuda a tener control de dispositivos con diferentes densidades en particular es fijo s 600 de p está buscando que todas estas dependencias en dimensiones utilizables para tabletas de 7 pulgadas y lo mismo para s w 720 solo que aquí son las dependencias particulares para tabletas de 10 pulgadas el sufijo values versión 11 nos permite tener también control de valores dentro d una impide particular en este caso es versión 11 y la versión 14 es exactamente lo mismo pero para limpiarlo 14 y por último abrimos android manifest el archivo android manifest tenemos toda la descripción de nuestro proyecto y particularmente el archivo manifest esto ya lo estoy abriendo porque el archivo manifesté es probablemente el documento más importante de mi proyecto si se fijan bien tenemos diferentes etiquetas como el paquete y el código de versión y nombre de versión por ejemplo el código de versión es muy importante para google play porque le permite entender si hay actualizaciones el nombre de versión es un string con un texto tal cual ya nosotros nos permite tener control interno en un equipo de desarrollo y saber qué versión estamos trabajando también define el es la versión mínima del sdk y cuál es el target en ese sentido la versión mínima te permite discriminar a todos los dispositivos que no tengan esa versión más abajo podemos ver la clase application y dentro está la clase activity son tags en el caso de application tenemos si le permite hacer un backup cuál es el icono que se va a mostrar en nuestro launcher la etiqueta y el tema por defecto como yo estoy tomando el hola mundo como tal no estoy agregando ninguna propiedad cuando yo creo mi proyecto nuevo así es como debería aparecer y dentro de application tenemos otro tag que se llama activity este activity es la definición de todas nuestras actividades o clases que tenemos en nuestra aplicación ahora vamos a entrar al archivo broward proyecto txt el cual nos ayuda cifras de alguna manera nuestro proyecto agregar una capa de seguridad a nuestro archivo java en este caso como pueden ver viene brevemente explicado que es lo que hace y de manera muy general son reglas que nos ayudan a tener control del lado del código java que no se puede hacer en ingeniería inversa y finalmente tenemos project punto por ver kits el cual es un archivo que nos ayuda a tener el control del manejo de dependencias a continuación veremos android virtual device manager el cual es una herramienta que nos permite probar lógicamente distintas configuraciones de nuestra aplicación en la sección de android virtual device manager tenemos una ventana que se abre que nos permite visualizar algunas cosas importantes tenemos m16 por ejemplo m 16 m 16 124 etcétera etcétera cada uno de estos son nombres de nuestro dispositivo virtual y toda la columna de ahí nos permite saber el nombre para identificarlos fácilmente también contiene target name el cual es el leit y el nivel de lippi al cual está pensado este dispositivo virtual también con tenemos la plataforma en los primeros tres casos son 1.6 el que está hasta abajo por ejemplo en hechos 4 el cual tiene 4.3 como plataforma y es anti 4.3 el nivel de ley que hay que es la siguiente columna y cada uno va variando como saben hasta hoy en día tenemos el más nuevo que se limpia y level 18 y finalmente tenemos ese pool libia el cual es el procesador en el cual estamos corriendo nuestro morador en los primeros casos es una rm y en los últimos es un aire mi versión 7a en la pestaña de definición de dispositivos podemos observar una lista la cual contiene dispositivos virtuales google por defecto te facilita la parte superior de esta lista contiene por ejemplo nexus s de google es un dispositivo real el cual está utilizado para poder hacer pruebas aquí este dispositivo nexus s contiene una pantalla de 4 pulgadas con unas dimensiones de 480 x 800 y tiene una pantalla de de y con 343 megabytes de ram ahora vamos a crear un nuevo dispositivo virtual y nos va a desplegar una serie de elementos que nosotros podemos modificar y también podemos elegir por defecto qué dispositivo con sus diferentes propiedades podemos elegir si queremos una cámara enfrente una cámara atrás cuánta memoria ram si va a contener una un dispositivo de almacenamiento o una tarjeta de cd le damos a iniciar el dispositivo virtual y listo el android sdk manager es una herramienta que nos permite descargar las versiones de limpia y más novedosas además nos permite acceder al código fuente a documentación y a bibliotecas que no trae por defecto el limpiar como google services la herramienta para poder hacer cobros dentro de la plataforma y muchas más ahora entraremos a android sdk manager el cual contiene una serie de archivos que nosotros descargamos dentro del repositorio que google nos provee utilizar e implementar versiones de limpia y nuevas en mis proyectos si tenemos que ya abrió la ventana y lo que primero que vemos aquí es la carpeta de tools que contiene las herramientas para poder desarrollar incluyendo también el plugin de eclipse tenemos aquí en este caso android sdk tools y particularmente en este vídeo vemos que tenemos una actualización disponible que es la versión 22.2 además podemos ver todas las versiones de los 6 actuales incluyendo la documentación la plataforma las pruebas el emulador para los dos tipos de procesador la rm y el intel x86 6 de google y el código fuente para todas las versiones del late-night desde la 17 hasta la 4 y otra carpeta muy importante dentro de el sdk es la de extras en donde tenemos algunas bibliotecas que no contienen activamente el framework como por ejemplo el el sdk de google analytics o el de publicidad de atmore también en android support library y google play services a continuación vamos a ver al lic debug monitor server el cual es un conjunto de herramientas que nos ayudan a controlar y simular funcionalidades dentro de nuestro dispositivo virtual cosas como llamar recibir un sms o simular una latitud de longitud son cosas que se pueden hacer en esta herramienta por último vamos a entrar a dalvik debug monitor server aquí notamos en esta ventana todos los procesos que están corriendo dentro de mi emulador en esta sección de dispositivos estos procesos como tales son aquellos que están corriendo como parte de él del sistema operativo también en la parte superior podemos notar distintas herramientas para poder terminar el proceso hacer una revisión pase al hip hace un dibujo etcétera etcétera y particularmente hay dos que son muy importantes como este en particular se llama device screen capture que nos permite tomar una una visión de la aplicación y del dispositivo actual que está conectado a nuestra herramienta del sdk en esta sección podemos ver distintas pestañas que nos ayuden a revisar el estado del de la aplicación que estamos corriendo tenemos tres por ejemplo heap location tracker estadísticas red exploradores archivos y control del emulador particularmente nos interesan dos que es el explorador de archivos en donde como podemos notar hay un hay un sistema de archivos que es justo el que contiene android y el control del emulador que tiene nos permite revisar y simular algunas llamadas o mensajes sms y controlar también los datos de 3g que puede recibir y pensar así como el protocolo y la velocidad a la cual va además en telefonía actions yo puedo agregar un número y simular un sms agregando un mensaje como este de hey o en curso la cual puedo enviar y en mi emulador se debería de notar como un mensaje que se envió y lo podemos ver es un sms que nosotros podemos revisar y contestar y también podemos hacer una llamada solo cambiando el botón y deberíamos de poder verlo en nuestro mundo ahí lo tenemos con el número 13 37 también puede simular que colgaste y aparecerá como llamada perdida por último revisaremos la oit la ventana del log la cual arroja información del sistema operativo de una aplicación que nosotros desarrollamos como pueden checar en el vídeo tenemos una pequeña columna de texto y ahí está arrojando todos los mensajes de la máquina virtual dalvik como un recolector de basura por el manejador de actividades recapitulemos uno conocemos cómo funciona el framework android 2 revisamos la estructura de archivos de un proyecto 3 utilizamos dalvik de book monitor server 4 revisamos que es android sdk manager y finalmente 5 utilizamos android y virtual device manager en la siguiente elección veremos tres cosas muy importantes uno conoceremos qué es una actividad 2 implementaremos un intento y 3 aprenderemos qué es un fragmento mi nombre es enrique díaz y sigan programando
