SlideShare una empresa de Scribd logo
Android
Introducción al entorno Visual Studio
Conoce Android Studio
•Android Studio es el entorno de desarrollo integrado
(IDE) oficial para el desarrollo de aplicaciones para
Android y se basa en IntelliJ IDEA.
•Instant run (compila sólo los cambios)
•Editor de código "inteligente”.
•Diseño de equipos. (plugins git p.e)
•Desarrollo para todos los dispositivos
android. (tablets, wear, tv, etc.
Conoce Android Studio
• Un sistema de compilación basado en Gradle flexible
• Un emulador rápido con varias funciones
• Un entorno unificado para realizar desarrollos para todos los dispositivos
Android
• Instant Run para aplicar cambios mientras tu app se ejecuta.
• Integración de plantillas de código y GitHub para ayudarte a compilar
funciones comunes de las apps e importar ejemplos de código
• Gran cantidad de herramientas y frameworks de prueba
• Herramientas Lint para detectar problemas de rendimiento, usabilidad,
compatibilidad de versión, etc.
• Compatibilidad con C++ y NDK
• Soporte incorporado para Google Cloud Platform, lo que facilita la
integración de Google Cloud Messaging y App Engine.
La barra de
herramientas te permite
realizar una gran
variedad de acciones,
como la ejecución de tu
app y el inicio de
herramientas de
Android.
La barra de
navegación te ayuda a
explorar tu proyecto y
abrir archivos para editar.
Proporciona una vista más
compacta de la estructura
visible en la
ventana Project.
La ventana del editor es
el área donde puedes
crear y modificar código.
Según el tipo de archivo
actual, el editor puede
cambiar. Por ejemplo,
cuando se visualiza un
archivo de diseño, el
editor muestra el editor de
diseño.
La barra de la ventana de
herramientas se extiende
alrededor de la parte
externa de la ventana del
IDE y contiene los botones
que te permiten expandir
o contraer ventanas de
herramientas individuales.
Las ventanas de
herramientas te permiten
acceder a tareas
específicas, como la
administración de
proyectos, las búsquedas,
los controles de versión,
etc. Puedes expandirlas y
contraerlas.
En la barra de estado, se
muestra el estado de tu
proyecto y del IDE en sí,
como también cualquier
advertencia o mensaje.
Ventanas de herramientas
• Android Studio sigue tu contexto y te ofrece automáticamente
ventanas de herramientas relevantes mientras trabajas. Las ventanas
de herramientas usadas con mayor frecuencia se fijan en la barra de
ventanas de herramientas en los bordes de la ventana de la
aplicación.
• Para expandir o contraer una ventana de herramientas, haz clic en el
nombre de la herramienta, en la barra de la ventana de herramientas.
• Para volver al diseño predeterminado actual de la ventana de
herramientas, haz clic en Window > Restore Default Layout o
personaliza tu diseño predeterminado haciendo clic en Window >
Store Current Layout as Default.
Ventanas de herramientas
•Para mostrar u ocultar la barra de la
ventana de herramientas completa, haz clic
en el ícono de ventana en la esquina
inferior izquierda de la ventana de Android
Studio.
•Si quieres ocultar todas las barras de
herramientas, ventanas de herramientas y
pestañas del editor, haz clic en View >
Enter Distraction Free Mode.
Compleción de código
Tipo Descripción Windows y Linux Mac
Compleción básica Muestra sugerencias
básicas para variables,
tipos, métodos y
expresiones, entre otros. Si
llamas a la compleción
básica dos veces seguidas,
verás más resultados
Control+Espaci
o
Control+Espacio
Compleción
inteligente
Muestra opciones
relevantes en función del
contexto. La compleción
inteligente reconoce el tipo
y los flujos de datos
previstos.
Control+Mayús
+Espacio
Control+Mayús+Espa
cio
Compleción de Completa el enunciado Control+Mayús Mayús+Comando+En
Estilo y formato
• Android Studio aplica automáticamente formatos y estilos
según lo especificado en tu configuración de estilo de
código. Puedes personalizar la configuración de estilo de
código programando el idioma, que incluye la especificación
de convenciones para pestañas y sangrías, espacios, ajuste y
llaves, y líneas en blanco.
• El IDE aplica formato automáticamente mientras trabajas,
también puedes llamar explícitamente a la acción Reformat
Code presionando Control+Alt+L (Opt+Comando+L en una
Mac), o aplicar sangrías automáticas a todas las líneas
presionando Control+Alt+I (Alt+Option+I en una Mac).
Sistema de compilación de Gradle
• El sistema de compilación Gradle se ejecuta en una herramienta
integrada desde el menú de Android Studio, y lo hace
independientemente de la línea de comandos. Puedes usar las
funciones del sistema de compilación para lo siguiente:
• Personalizar, configurar y extender el proceso de compilación;
• Crear múltiples APK para tu app, con diferentes funciones utilizando el
mismo proyecto y los mismos módulos;
• Volver a usar códigos y recursos entre conjuntos de archivos de origen.
Variantes de compilación
El sistema de compilación
puede ayudarte a crear
diferentes versiones de la
misma aplicación a partir
de un solo proyecto.
Puedes manejar una
versión gratuita o una
versión paga de tu app, o
múltiples APK para
diferentes configuraciones
Otras características.
• Divisiones de APK. Te permite crear varios APK en función de la
densidad de la pantalla o ABI.
• Reducción de recursos. elimina automáticamente los recursos sin
usar del paquete de tu app y de las dependencias de bibliotecas.
• Administración de dependencia. Gradle se ocupa de buscar tus
dependencias y hacer que estén disponibles en tu compilación.
• Depuración integrada. para mejorar las revisiones de código en la
vista del depurador con verificación integrada de referencias,
expresiones y valores de variable.
• Mensajes de registro. Cuando compilas y ejecutas tu app con
Android Studio, puedes ver mensajes adb de salida y mensajes de
registro del dispositivo (logcat) haciendo clic en Android Monitor en
la parte inferior de la ventana
Estructura del proyecto
• Un proyecto Android contiene uno o más
módulos como:
• módulos de apps para Android
• módulos de bibliotecas
• módulos de Google App Engine
• Cada Modulo contiene las siguientes
carpetas:
• manifests: contiene el
archivo AndroidManifest.xml.
• java: contiene los archivos de código fuente de
Java, incluido el código de prueba JUnit.
• res: Contiene todos los recursos, como diseños
XML, cadenas de IU e imágenes de mapa de
bits.
Vista de proyectos de Android
• Al seleccionar la vista Project, puedes ver más
archivos y directorios. Los más importantes son
los siguientes:
• module-name/
• build/ Contiene resultados de compilación
• libs/ Contiene bibliotecas privadas.
• src/ Contiene todos los archivos de código y
recursos para el módulo en los siguientes
subdirectorios:
• androidTest/ Contiene código para las pruebas de
instrumentación que se ejecutan en un dispositivo
Android
• main/ Contiene los archivos de conjunto de origen
“principales”: el código y los recursos de Android
compartidos por todas las variantes de compilación
Vista de proyectos de Android (main)
• main/Contiene los archivos de conjunto de origen
“principales”: el código y los recursos de Android
compartidos por todas las variantes de compilación.
• AndroidManifest.xml. Describe la naturaleza de la
aplicación y cada uno de sus componentes.
• Java/Contiene fuentes de código Java.
• jni/ Contiene código nativo en el cual se usa la interfaz
nativa de Java (JNI)
• gen/ Contiene los archivos Java generados por Android
Studio, como tu archivo R.java y las interfaces creadas
desde los archivos AIDL.
• res/ Contiene recursos de aplicación, como archivos de
elementos de diseño, archivos de diseño y strings de IU
• assets/ Contiene un archivo que se debe compilar en un
archivo .apk tal como está.
Agregar un componente de proyecto
•La lista de plantillas
proporcionada en Android
Studio se amplía
constantemente. Android
Studio agrupa plantillas
según el tipo de
componentes que agregan,
como una Actividad o un
archivo XML
Actividad básica
• Esta plantilla crea una app simple
con una barra de app y un botón de
acción flotante. Funciona como
punto de partida para tu proyecto
al proporcionar componentes de IU
de uso común.
• En esta plantilla se incluye lo
siguiente:
• AppBar;
• FloatingActionButton;
• dos archivos de diseño: uno para la
actividad y uno para separar el
contenido de texto.
Actividad vacia
• Esta plantilla crea una actividad
vacía y un archivo de diseño
único con contenido de texto de
ejemplo. Te permite empezar de
cero cuando compilas el módulo
o la actividad de tu app.
• En esta plantilla se incluye lo
siguiente:
• archivo de diseño único con
contenido de texto.
Actividad con pantalla completa
• Esta plantilla crea una app que alterna entre
una vista de pantalla completa primaria y
una vista con controles de una interfaz de
usuario estándar (IU).
• En esta plantilla se incluye lo siguiente:
• una implementación táctil del receptor para
ocultar los elementos de la vista estándar;
• un botón que aparece en la vista estándar y no
realiza acciones;
• AppBar para la vista estándar;
• un archivo de diseño único con la vista de pantalla
completa y un diseño de marco para elementos
de vista estándar.
Actividad de acceso
• Esta plantilla crea una pantalla de acceso estándar. En la
interfaz de usuario se incluyen los campos de correo
electrónico y contraseña, y un botón de inicio de sesión.
Se usa con mayor frecuencia como plantilla de actividad
que como plantilla de módulo de app.
• En esta plantilla se incluye lo siguiente:
• Implementación de AsyncTask para manejar operaciones
de red de modo separado desde el subproceso principal
de interfaz de usuario.
• Indicador de progreso durante las operaciones de red.
• Archivo de diseño único con la IU de acceso
recomendada:
• campos de entrada de correo electrónico y contraseña;
• botón de inicio de sesión.
Flujo maestro y de detalles
• Esta plantilla crea una app que tiene una
visualización de una lista de elementos y una
visualización de los detalles de un elemento
individual. Al hacer clic en un elemento de la
pantalla de lista, se abre una pantalla con los
detalles del elemento.
• En esta plantilla se incluye lo siguiente:
• actividad que representa la lista de elementos;
• actividad y opciones de fragmentos para mostrar los
detalles de un elemento individual;
• FloatingActionButton en cada pantalla;
• barra de herramientas contráctil para la pantalla de
detalles del elemento;
• archivos de diseño de recursos alternativos para
diferentes configuraciones de dispositivos.
Actividad del panel lateral de navegación
• Esta plantilla crea una actividad básica con un
menú del panel lateral de navegación. La barra de
navegación se expande de la izquierda a la
derecha de tu app y se suma a la barra de app
regular.
• En esta plantilla se incluye lo siguiente:
• implementación del panel lateral de navegación con un
elemento DrawerLayout, los controladores de eventos
correspondientes y opciones de menú de ejemplo;
• AppBar;
• FloatingActionButton;
• archivos de diseño para el panel lateral de navegación y
el encabezado de este último, además de aquellos de la
plantilla Actividad básica.
Actividad de desplazamiento
• Esta plantilla crea una app con una barra de
herramientas de contracción y una vista de
desplazamiento para contenido de texto largo.
Mientras te desplazas hacia abajo en la página, la
barra de herramientas, que puede servir como un
encabezado, se condensa automáticamente y el
botón de acción flotante desaparece.
• En esta plantilla se incluye lo siguiente:
• Barra de herramientas contráctil en lugar de la AppBar
regular;
• FloatingActionButton;
• dos archivos de diseño: uno para la actividad y uno para
separar el contenido de texto en una NestedScrollView.
Actividad de configuración
• Esta plantilla crea una actividad que
muestra las
preferencias o configuraciones del usuario
para una app. Extiende la clase
PreferenceActivity y se usa con mayor
frecuencia como plantilla de actividad que
como plantilla de módulo de app.
• En esta plantilla se incluye lo siguiente:
• actividad que extiende PreferenceActivity;
• archivos XML (en el directorio res/xml/ de tu
proyecto) para definir las configuraciones que
se muestran.
Actividad con pestañas
• Esta plantilla crea una app con varias
secciones, navegación por deslizamiento y
una barra de app. Las secciones se definen
como fragmentos entre los que puedes
deslizarte de izquierda a derecha para
navegar.
• En esta plantilla se incluye lo siguiente:
• AppBar;
• adaptador que extiende FragmentPagerAdapter y
crea un fragmento para cada sección;
• instancia ViewPager, un administrador de diseño
para el deslizamiento entre secciones;
• dos archivos de diseño: uno para la actividad y uno
para los fragmentos individuales.
Aspectos Fundamentales de la aplicación
• Las aplicaciones de Android se escriben en lenguaje de
programación Java. Las herramientas de Android SDK compilan tu
código, junto con los archivos de recursos y datos, en un APK:
un paquete de Android, que es un archivo de almacenamiento con
el sufijo .apk.
• Un archivo de APK incluye todos los contenidos de una aplicación
de Android y es el archivo que usan los dispositivos con tecnología
Android para instalar la aplicación.
Aspectos Fundamentales de la aplicación
• El sistema operativo Android es un sistema Linux multiusuario en el que cada
aplicación es un usuario diferente.
• De forma predeterminada, el sistema le asigna a cada aplicación una ID de
usuario de Linux única (solo el sistema utiliza la ID y la aplicación la desconoce).
El sistema establece permisos para todos los archivos.
• Cada proceso tiene su propio equipo virtual (EV), por lo que el código de una
aplicación se ejecuta de forma independiente de otras aplicaciones.
• De forma predeterminada, cada aplicación ejecuta su proceso de Linux propio.
Android inicia el proceso cuando se requiere la ejecución de alguno de los
componentes de la aplicación, luego lo cierra cuando el proceso ya no es
necesario o cuando el sistema debe recuperar memoria para otras aplicaciones.
El principio de mínimo privilegio
•De forma predeterminada, cada aplicación
tiene acceso solo a los componentes que
necesita para llevar a cabo su trabajo y nada
más. Esto crea un entorno muy seguro en el
que una aplicación no puede acceder a
partes del sistema para las que no tiene
permiso.
El principio de mínimo privilegio
• Es posible disponer que dos aplicaciones compartan la misma ID
de usuario de Linux para que puedan acceder a los archivos de la
otra. Para conservar recursos del sistema, las aplicaciones con la
misma ID de usuario también pueden disponer la ejecución en el
mismo proceso de Linux y compartir el mismo EV (las aplicaciones
también deben estar firmadas con el mismo certificado).
• Una aplicación puede solicitar permiso para acceder a datos del
dispositivo como los contactos de un usuario, los mensajes de
texto, el dispositivo de almacenamiento (tarjeta SD), la cámara,
Bluetooth y más. El usuario debe garantizar de manera explícita
estos permisos
Referencias
• https://developer.android.com/studio/intro/update.html
2 AndroidStudio introduccion al mundo de la programacion con android

Más contenido relacionado

PPTX
Framework .NET 3.5 02 Entorno de desarrollo (ide)
DOCX
Guia generalandroidstudioseccion3.docx
PPTX
Depuración de aplicaciones en visual studio
PPSX
Programacion en visual basic 8.0
DOCX
Visual basic 6.0
PPTX
Entorno de desarrollo integrado de Visual Basic .NET
DOCX
Fundamentos de visual basic 6.0
PPTX
Introducción a Android
Framework .NET 3.5 02 Entorno de desarrollo (ide)
Guia generalandroidstudioseccion3.docx
Depuración de aplicaciones en visual studio
Programacion en visual basic 8.0
Visual basic 6.0
Entorno de desarrollo integrado de Visual Basic .NET
Fundamentos de visual basic 6.0
Introducción a Android

Similar a 2 AndroidStudio introduccion al mundo de la programacion con android (20)

DOCX
Lenguajes de Programación: Android
PPTX
PPS
Net capitulo I - fundamentos
PPTX
Android_Studio_PresentacionNoDetallada.pptx
PPTX
Andrid studio
DOCX
Estructuras sdk
DOC
Taller info decimo
DOC
Taller info decimo
PPTX
Herramientas y entornos de implementacion de software
PPTX
Introducción a Visual Studio .net
DOCX
Articulo tipos de ide y ajax control toolkit
DOCX
Visual basic 6.0
PPTX
App inventor
PPTX
Android Studio
PPTX
Android Studio
PPTX
Android studio
PDF
Fundamentos de Visual Basic
DOCX
Visual basic 6.0
PDF
Visual basic-6-0-guia
PPTX
Sesion 7-c#
Lenguajes de Programación: Android
Net capitulo I - fundamentos
Android_Studio_PresentacionNoDetallada.pptx
Andrid studio
Estructuras sdk
Taller info decimo
Taller info decimo
Herramientas y entornos de implementacion de software
Introducción a Visual Studio .net
Articulo tipos de ide y ajax control toolkit
Visual basic 6.0
App inventor
Android Studio
Android Studio
Android studio
Fundamentos de Visual Basic
Visual basic 6.0
Visual basic-6-0-guia
Sesion 7-c#
Publicidad

Último (20)

PDF
CALIDAD SSOMA AMBIENTE PRL UNIVERSIDADDD
PDF
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf
PDF
prg2_t01_p01_Fundamentos POO - parte1.pdf
PDF
HISTORIA DE LA GRÚAA LO LARGO DE LOS TIEMPOSpdf
PDF
Oficio SEC de formulación de cargos por el apagón del 25F en contra del CEN
PPT
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
PDF
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
PDF
Estrategias de apoyo de tecnología 2do periodo pdf
PPTX
Manual ISO9001_2015_IATF_16949_2016.pptx
PDF
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
PDF
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
PPTX
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
PDF
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
PPT
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
PDF
MATRIZ IDENTIFICACIÓN EVALUACION CONTROL PRL.pdf
PPTX
Cortinas-en-Presas-de-Gravedad-Vertedoras-y-No-Vertedoras.pptx
PDF
TESTAMENTO DE DESCRIPTIVA ..............
PPTX
GEOLOGIA, principios , fundamentos y conceptos
DOC
informacion acerca de la crianza tecnificada de cerdos
PPTX
clase MICROCONTROLADORES ago-dic 2019.pptx
CALIDAD SSOMA AMBIENTE PRL UNIVERSIDADDD
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf
prg2_t01_p01_Fundamentos POO - parte1.pdf
HISTORIA DE LA GRÚAA LO LARGO DE LOS TIEMPOSpdf
Oficio SEC de formulación de cargos por el apagón del 25F en contra del CEN
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
Estrategias de apoyo de tecnología 2do periodo pdf
Manual ISO9001_2015_IATF_16949_2016.pptx
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
MATRIZ IDENTIFICACIÓN EVALUACION CONTROL PRL.pdf
Cortinas-en-Presas-de-Gravedad-Vertedoras-y-No-Vertedoras.pptx
TESTAMENTO DE DESCRIPTIVA ..............
GEOLOGIA, principios , fundamentos y conceptos
informacion acerca de la crianza tecnificada de cerdos
clase MICROCONTROLADORES ago-dic 2019.pptx
Publicidad

2 AndroidStudio introduccion al mundo de la programacion con android

  • 2. Conoce Android Studio •Android Studio es el entorno de desarrollo integrado (IDE) oficial para el desarrollo de aplicaciones para Android y se basa en IntelliJ IDEA. •Instant run (compila sólo los cambios) •Editor de código "inteligente”. •Diseño de equipos. (plugins git p.e) •Desarrollo para todos los dispositivos android. (tablets, wear, tv, etc.
  • 3. Conoce Android Studio • Un sistema de compilación basado en Gradle flexible • Un emulador rápido con varias funciones • Un entorno unificado para realizar desarrollos para todos los dispositivos Android • Instant Run para aplicar cambios mientras tu app se ejecuta. • Integración de plantillas de código y GitHub para ayudarte a compilar funciones comunes de las apps e importar ejemplos de código • Gran cantidad de herramientas y frameworks de prueba • Herramientas Lint para detectar problemas de rendimiento, usabilidad, compatibilidad de versión, etc. • Compatibilidad con C++ y NDK • Soporte incorporado para Google Cloud Platform, lo que facilita la integración de Google Cloud Messaging y App Engine.
  • 4. La barra de herramientas te permite realizar una gran variedad de acciones, como la ejecución de tu app y el inicio de herramientas de Android.
  • 5. La barra de navegación te ayuda a explorar tu proyecto y abrir archivos para editar. Proporciona una vista más compacta de la estructura visible en la ventana Project.
  • 6. La ventana del editor es el área donde puedes crear y modificar código. Según el tipo de archivo actual, el editor puede cambiar. Por ejemplo, cuando se visualiza un archivo de diseño, el editor muestra el editor de diseño.
  • 7. La barra de la ventana de herramientas se extiende alrededor de la parte externa de la ventana del IDE y contiene los botones que te permiten expandir o contraer ventanas de herramientas individuales.
  • 8. Las ventanas de herramientas te permiten acceder a tareas específicas, como la administración de proyectos, las búsquedas, los controles de versión, etc. Puedes expandirlas y contraerlas.
  • 9. En la barra de estado, se muestra el estado de tu proyecto y del IDE en sí, como también cualquier advertencia o mensaje.
  • 10. Ventanas de herramientas • Android Studio sigue tu contexto y te ofrece automáticamente ventanas de herramientas relevantes mientras trabajas. Las ventanas de herramientas usadas con mayor frecuencia se fijan en la barra de ventanas de herramientas en los bordes de la ventana de la aplicación. • Para expandir o contraer una ventana de herramientas, haz clic en el nombre de la herramienta, en la barra de la ventana de herramientas. • Para volver al diseño predeterminado actual de la ventana de herramientas, haz clic en Window > Restore Default Layout o personaliza tu diseño predeterminado haciendo clic en Window > Store Current Layout as Default.
  • 11. Ventanas de herramientas •Para mostrar u ocultar la barra de la ventana de herramientas completa, haz clic en el ícono de ventana en la esquina inferior izquierda de la ventana de Android Studio. •Si quieres ocultar todas las barras de herramientas, ventanas de herramientas y pestañas del editor, haz clic en View > Enter Distraction Free Mode.
  • 12. Compleción de código Tipo Descripción Windows y Linux Mac Compleción básica Muestra sugerencias básicas para variables, tipos, métodos y expresiones, entre otros. Si llamas a la compleción básica dos veces seguidas, verás más resultados Control+Espaci o Control+Espacio Compleción inteligente Muestra opciones relevantes en función del contexto. La compleción inteligente reconoce el tipo y los flujos de datos previstos. Control+Mayús +Espacio Control+Mayús+Espa cio Compleción de Completa el enunciado Control+Mayús Mayús+Comando+En
  • 13. Estilo y formato • Android Studio aplica automáticamente formatos y estilos según lo especificado en tu configuración de estilo de código. Puedes personalizar la configuración de estilo de código programando el idioma, que incluye la especificación de convenciones para pestañas y sangrías, espacios, ajuste y llaves, y líneas en blanco. • El IDE aplica formato automáticamente mientras trabajas, también puedes llamar explícitamente a la acción Reformat Code presionando Control+Alt+L (Opt+Comando+L en una Mac), o aplicar sangrías automáticas a todas las líneas presionando Control+Alt+I (Alt+Option+I en una Mac).
  • 14. Sistema de compilación de Gradle • El sistema de compilación Gradle se ejecuta en una herramienta integrada desde el menú de Android Studio, y lo hace independientemente de la línea de comandos. Puedes usar las funciones del sistema de compilación para lo siguiente: • Personalizar, configurar y extender el proceso de compilación; • Crear múltiples APK para tu app, con diferentes funciones utilizando el mismo proyecto y los mismos módulos; • Volver a usar códigos y recursos entre conjuntos de archivos de origen.
  • 15. Variantes de compilación El sistema de compilación puede ayudarte a crear diferentes versiones de la misma aplicación a partir de un solo proyecto. Puedes manejar una versión gratuita o una versión paga de tu app, o múltiples APK para diferentes configuraciones
  • 16. Otras características. • Divisiones de APK. Te permite crear varios APK en función de la densidad de la pantalla o ABI. • Reducción de recursos. elimina automáticamente los recursos sin usar del paquete de tu app y de las dependencias de bibliotecas. • Administración de dependencia. Gradle se ocupa de buscar tus dependencias y hacer que estén disponibles en tu compilación. • Depuración integrada. para mejorar las revisiones de código en la vista del depurador con verificación integrada de referencias, expresiones y valores de variable. • Mensajes de registro. Cuando compilas y ejecutas tu app con Android Studio, puedes ver mensajes adb de salida y mensajes de registro del dispositivo (logcat) haciendo clic en Android Monitor en la parte inferior de la ventana
  • 17. Estructura del proyecto • Un proyecto Android contiene uno o más módulos como: • módulos de apps para Android • módulos de bibliotecas • módulos de Google App Engine • Cada Modulo contiene las siguientes carpetas: • manifests: contiene el archivo AndroidManifest.xml. • java: contiene los archivos de código fuente de Java, incluido el código de prueba JUnit. • res: Contiene todos los recursos, como diseños XML, cadenas de IU e imágenes de mapa de bits.
  • 18. Vista de proyectos de Android • Al seleccionar la vista Project, puedes ver más archivos y directorios. Los más importantes son los siguientes: • module-name/ • build/ Contiene resultados de compilación • libs/ Contiene bibliotecas privadas. • src/ Contiene todos los archivos de código y recursos para el módulo en los siguientes subdirectorios: • androidTest/ Contiene código para las pruebas de instrumentación que se ejecutan en un dispositivo Android • main/ Contiene los archivos de conjunto de origen “principales”: el código y los recursos de Android compartidos por todas las variantes de compilación
  • 19. Vista de proyectos de Android (main) • main/Contiene los archivos de conjunto de origen “principales”: el código y los recursos de Android compartidos por todas las variantes de compilación. • AndroidManifest.xml. Describe la naturaleza de la aplicación y cada uno de sus componentes. • Java/Contiene fuentes de código Java. • jni/ Contiene código nativo en el cual se usa la interfaz nativa de Java (JNI) • gen/ Contiene los archivos Java generados por Android Studio, como tu archivo R.java y las interfaces creadas desde los archivos AIDL. • res/ Contiene recursos de aplicación, como archivos de elementos de diseño, archivos de diseño y strings de IU • assets/ Contiene un archivo que se debe compilar en un archivo .apk tal como está.
  • 20. Agregar un componente de proyecto •La lista de plantillas proporcionada en Android Studio se amplía constantemente. Android Studio agrupa plantillas según el tipo de componentes que agregan, como una Actividad o un archivo XML
  • 21. Actividad básica • Esta plantilla crea una app simple con una barra de app y un botón de acción flotante. Funciona como punto de partida para tu proyecto al proporcionar componentes de IU de uso común. • En esta plantilla se incluye lo siguiente: • AppBar; • FloatingActionButton; • dos archivos de diseño: uno para la actividad y uno para separar el contenido de texto.
  • 22. Actividad vacia • Esta plantilla crea una actividad vacía y un archivo de diseño único con contenido de texto de ejemplo. Te permite empezar de cero cuando compilas el módulo o la actividad de tu app. • En esta plantilla se incluye lo siguiente: • archivo de diseño único con contenido de texto.
  • 23. Actividad con pantalla completa • Esta plantilla crea una app que alterna entre una vista de pantalla completa primaria y una vista con controles de una interfaz de usuario estándar (IU). • En esta plantilla se incluye lo siguiente: • una implementación táctil del receptor para ocultar los elementos de la vista estándar; • un botón que aparece en la vista estándar y no realiza acciones; • AppBar para la vista estándar; • un archivo de diseño único con la vista de pantalla completa y un diseño de marco para elementos de vista estándar.
  • 24. Actividad de acceso • Esta plantilla crea una pantalla de acceso estándar. En la interfaz de usuario se incluyen los campos de correo electrónico y contraseña, y un botón de inicio de sesión. Se usa con mayor frecuencia como plantilla de actividad que como plantilla de módulo de app. • En esta plantilla se incluye lo siguiente: • Implementación de AsyncTask para manejar operaciones de red de modo separado desde el subproceso principal de interfaz de usuario. • Indicador de progreso durante las operaciones de red. • Archivo de diseño único con la IU de acceso recomendada: • campos de entrada de correo electrónico y contraseña; • botón de inicio de sesión.
  • 25. Flujo maestro y de detalles • Esta plantilla crea una app que tiene una visualización de una lista de elementos y una visualización de los detalles de un elemento individual. Al hacer clic en un elemento de la pantalla de lista, se abre una pantalla con los detalles del elemento. • En esta plantilla se incluye lo siguiente: • actividad que representa la lista de elementos; • actividad y opciones de fragmentos para mostrar los detalles de un elemento individual; • FloatingActionButton en cada pantalla; • barra de herramientas contráctil para la pantalla de detalles del elemento; • archivos de diseño de recursos alternativos para diferentes configuraciones de dispositivos.
  • 26. Actividad del panel lateral de navegación • Esta plantilla crea una actividad básica con un menú del panel lateral de navegación. La barra de navegación se expande de la izquierda a la derecha de tu app y se suma a la barra de app regular. • En esta plantilla se incluye lo siguiente: • implementación del panel lateral de navegación con un elemento DrawerLayout, los controladores de eventos correspondientes y opciones de menú de ejemplo; • AppBar; • FloatingActionButton; • archivos de diseño para el panel lateral de navegación y el encabezado de este último, además de aquellos de la plantilla Actividad básica.
  • 27. Actividad de desplazamiento • Esta plantilla crea una app con una barra de herramientas de contracción y una vista de desplazamiento para contenido de texto largo. Mientras te desplazas hacia abajo en la página, la barra de herramientas, que puede servir como un encabezado, se condensa automáticamente y el botón de acción flotante desaparece. • En esta plantilla se incluye lo siguiente: • Barra de herramientas contráctil en lugar de la AppBar regular; • FloatingActionButton; • dos archivos de diseño: uno para la actividad y uno para separar el contenido de texto en una NestedScrollView.
  • 28. Actividad de configuración • Esta plantilla crea una actividad que muestra las preferencias o configuraciones del usuario para una app. Extiende la clase PreferenceActivity y se usa con mayor frecuencia como plantilla de actividad que como plantilla de módulo de app. • En esta plantilla se incluye lo siguiente: • actividad que extiende PreferenceActivity; • archivos XML (en el directorio res/xml/ de tu proyecto) para definir las configuraciones que se muestran.
  • 29. Actividad con pestañas • Esta plantilla crea una app con varias secciones, navegación por deslizamiento y una barra de app. Las secciones se definen como fragmentos entre los que puedes deslizarte de izquierda a derecha para navegar. • En esta plantilla se incluye lo siguiente: • AppBar; • adaptador que extiende FragmentPagerAdapter y crea un fragmento para cada sección; • instancia ViewPager, un administrador de diseño para el deslizamiento entre secciones; • dos archivos de diseño: uno para la actividad y uno para los fragmentos individuales.
  • 30. Aspectos Fundamentales de la aplicación • Las aplicaciones de Android se escriben en lenguaje de programación Java. Las herramientas de Android SDK compilan tu código, junto con los archivos de recursos y datos, en un APK: un paquete de Android, que es un archivo de almacenamiento con el sufijo .apk. • Un archivo de APK incluye todos los contenidos de una aplicación de Android y es el archivo que usan los dispositivos con tecnología Android para instalar la aplicación.
  • 31. Aspectos Fundamentales de la aplicación • El sistema operativo Android es un sistema Linux multiusuario en el que cada aplicación es un usuario diferente. • De forma predeterminada, el sistema le asigna a cada aplicación una ID de usuario de Linux única (solo el sistema utiliza la ID y la aplicación la desconoce). El sistema establece permisos para todos los archivos. • Cada proceso tiene su propio equipo virtual (EV), por lo que el código de una aplicación se ejecuta de forma independiente de otras aplicaciones. • De forma predeterminada, cada aplicación ejecuta su proceso de Linux propio. Android inicia el proceso cuando se requiere la ejecución de alguno de los componentes de la aplicación, luego lo cierra cuando el proceso ya no es necesario o cuando el sistema debe recuperar memoria para otras aplicaciones.
  • 32. El principio de mínimo privilegio •De forma predeterminada, cada aplicación tiene acceso solo a los componentes que necesita para llevar a cabo su trabajo y nada más. Esto crea un entorno muy seguro en el que una aplicación no puede acceder a partes del sistema para las que no tiene permiso.
  • 33. El principio de mínimo privilegio • Es posible disponer que dos aplicaciones compartan la misma ID de usuario de Linux para que puedan acceder a los archivos de la otra. Para conservar recursos del sistema, las aplicaciones con la misma ID de usuario también pueden disponer la ejecución en el mismo proceso de Linux y compartir el mismo EV (las aplicaciones también deben estar firmadas con el mismo certificado). • Una aplicación puede solicitar permiso para acceder a datos del dispositivo como los contactos de un usuario, los mensajes de texto, el dispositivo de almacenamiento (tarjeta SD), la cámara, Bluetooth y más. El usuario debe garantizar de manera explícita estos permisos