Este codelab es parte del curso Conceptos básicos de Kotlin para Android. Aprovecharás al máximo este curso si trabajas con los codelabs de forma secuencial. Todos los codelabs del curso se enumeran en la página de destino de los codelabs de Android Kotlin Fundamentals.
Introducción
En este codelab, crearás y ejecutarás tu primera app para Android, HelloWorld, en un emulador y en un dispositivo físico. También explorarás la apariencia de un proyecto de Android.
Conocimientos que ya deberías tener
- Debes comprender el proceso general de desarrollo de software para apps orientadas a objetos con un IDE (entorno de desarrollo integrado) como Android Studio.
- Debes tener al menos un año de experiencia en programación orientada a objetos y comprender Java y Kotlin.
Qué aprenderás
- Cómo compilar una app básica para Android en Android Studio
- Cómo crear un proyecto para Android a partir de una plantilla
- Cómo encontrar los componentes principales de un proyecto de Android
- Saber cómo ejecutar una app para Android en un emulador o dispositivo físico
Actividades
- Crea un proyecto de Android nuevo y una app predeterminada llamada HelloWorld.
- Crea un emulador (un dispositivo virtual) para poder ejecutar tu app en la computadora.
- Ejecuta la app de HelloWorld en dispositivos virtuales y físicos.
- Explora el diseño del proyecto.
- Explora el archivo
AndroidManifest.xml
.
La app de HelloWorld muestra la cadena "Hello World" en la pantalla de un dispositivo físico o virtual de Android. Así se ve la app:
En esta tarea, crearás un proyecto de app nuevo para verificar que Android Studio esté instalado correctamente.
- Abre Android Studio si aún no lo hiciste.
- En el diálogo principal Welcome to Android Studio, haz clic en Start a new Android Studio project.
- Aparecerá el diálogo Choose your project . Selecciona Empty Activity como se muestra a continuación y haz clic en Next.
UnaActivity
es una sola acción enfocada que el usuario puede realizar. Todas las apps deben tener al menos una actividad como punto de entrada. Piensa en esta actividad de punto de entrada como la funciónmain()
en otros programas. Por lo general, una actividad tiene un diseño asociado que define cómo aparecen los elementos de la interfaz de usuario (IU) en una pantalla. Android Studio proporciona varias plantillas deActivity
para ayudarte a comenzar. - En el diálogo Configure your project, ingresa "HelloWorld" en Name.
- Acepta el valor predeterminado android.example.com para Company domain o crea un dominio de empresa único. Este valor, más el nombre de la app, es el nombre del paquete de tu app. Si no planeas publicarla, acepta el valor predeterminado. Puedes cambiar el nombre del paquete de tu app más adelante, pero esto requiere trabajo adicional.
- Verifica que la ubicación de guardado predeterminada sea donde deseas almacenar tu app. De lo contrario, cambia la ubicación al directorio que prefieras.
- Asegúrate de que el lenguaje sea Kotlin.
- Asegúrate de que el nivel de API mínimo sea API 19: Android 4.4 (KitKat). En el momento en que se escribió este codelab, Android Studio indicó que, con este nivel de API, la app se ejecutaría en aproximadamente el 95.3% de los dispositivos.
(Aprenderás más sobre los niveles de API mínimos en un codelab posterior. Para obtener más información ahora mismo, haz clic en Ayúdame a elegir, que abre una ventana con información sobre los niveles de API. - Selecciona la casilla de verificación Usar artefactos de AndroidX.
- Deja desmarcadas todas las demás casillas de verificación y haz clic en Finalizar. Si tu proyecto requiere más componentes para el SDK de destino que elegiste, Android Studio los instalará automáticamente, lo que podría tardar un tiempo. Sigue las instrucciones y acepta las opciones predeterminadas.
Android Studio ahora creará tu proyecto, lo que puede tardar un poco. No deberías recibir ningún error. Si recibes alguna advertencia, ignórala.
En esta tarea, explorarás el proyecto HelloWorld en Android Studio y aprenderás los conceptos básicos del desarrollo con Android Studio.
Paso 1: Explora el panel Proyecto
- Si la pestaña Project aún no está seleccionada, selecciónala. La pestaña Project se encuentra en la columna de pestañas verticales del lado izquierdo de la ventana de Android Studio. Se abrirá el panel Project.
- Para ver el proyecto como una jerarquía estándar de proyectos de Android, selecciona Android en el menú desplegable de la parte superior del panel Project. (Android es el valor predeterminado). Puedes ver los archivos del proyecto de muchas maneras diferentes, incluso cómo aparecen en la jerarquía del sistema de archivos. Sin embargo, es más fácil trabajar con el proyecto usando la vista de Android.
Paso 2: Explora la carpeta de la app
Todo el código y los recursos de tu app se encuentran en la carpeta app
.
- En el panel Project > Android, expande la carpeta app. Dentro de la carpeta
app
, hay cuatro subcarpetas:manifests
,java
,generatedJava
yres
. - Expande la carpeta java y, luego, la carpeta com.example.android.HelloWorld para ver el archivo Kotlin MainActivity.
La carpeta java contiene todo el código Kotlin principal de una app para Android. Hay motivos históricos por los que tu código Kotlin aparece en la carpeta java. Esa convención permite que Kotlin interactúe sin problemas con el código escrito en el lenguaje de programación Java, incluso en el mismo proyecto y app.
Los archivos de clase de tu app se encuentran en tres subcarpetas, como se muestra en la figura anterior. La carpeta com.example.hello.helloworld (o el nombre de dominio que especificaste) contiene todos los archivos de un paquete de app. En particular, la claseMainActivity
es el punto de entrada principal de tu app. Obtendrás más información sobreMainActivity
en el siguiente codelab. Las otras dos carpetas de la carpetajava
se usan para el código relacionado con las pruebas, como las pruebas de unidades.
- Observa la carpeta generatedJava. Esta carpeta contiene los archivos que Android Studio genera cuando compila la app. No edites nada en esta carpeta, ya que tus cambios podrían anularse cuando vuelvas a compilar la app. Sin embargo, es útil conocer esta carpeta cuando necesitas consultar estos archivos durante la depuración.
Paso 3: Explora la carpeta res
- En el panel Project > Android, expande la carpeta res.
La carpeta res contiene recursos. Los recursos en Android son contenido estático que se usa en tus apps. Los recursos incluyen imágenes, cadenas de texto, diseños de pantalla, estilos y valores, como colores hexadecimales o dimensiones estándar.
Las apps para Android separan el código de Kotlin y los recursos tanto como sea posible. Esto facilita mucho la búsqueda de todos los íconos o cadenas que se usan en la IU de la app. Además, cuando cambias uno de estos archivos de recursos, el cambio se aplica en todos los lugares donde se usa el archivo en la app. - Dentro de la carpeta res, expande la carpeta layout para ver el archivo
activity_main.xml
.
Tu Activity
suele estar asociado a un archivo de diseño de IU, que se define como un archivo XML en el directorio res/layout
. Por lo general, ese archivo de diseño se denomina según su actividad. En este caso, el nombre de la actividad es MainActivity
, por lo que el diseño asociado es activity_main
.
Paso 4: Explora la carpeta de manifiestos y AndroidManifest.xml
La carpeta manifests
contiene archivos que proporcionan información esencial sobre tu app al sistema Android.
- Expande la carpeta manifests y haz doble clic en AndroidManifest.xml para abrirlo. El archivo
AndroidManifest.xml
incluye detalles que el sistema Android necesita para ejecutar tu app, incluidas las actividades que forman parte de ella. - Ten en cuenta que se hace referencia a
MainActivity
en el elemento<activity>
. CualquierActivity
de tu app debe declararse en el manifiesto. Este es un ejemplo paraMainActivity
:
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
- Observa el elemento
<intent-filter>
dentro de<activity>
. Los elementos<action>
y<category>
de este filtro de intents le indican a Android dónde iniciar la app cuando el usuario hace clic en el ícono del selector. Obtendrás más información sobre los filtros de intents en un codelab posterior.
El archivo AndroidManifest.xml
también es el lugar donde definirías los permisos que necesita tu app. Los permisos incluyen la capacidad de la app para leer los contactos del teléfono, enviar datos por Internet o acceder a hardware, como la cámara del dispositivo.
Gradle es un sistema de automatización de compilaciones que usa un lenguaje específico de dominio para describir la estructura del proyecto, la configuración y las dependencias de la app. Cuando compilas y ejecutas tu app, ves información sobre la compilación de Gradle en ejecución. También verás información sobre el kit de paquetes de Android (APK) que se está instalando. (APK es el formato de archivo de paquete que el sistema operativo Android usa para distribuir e instalar apps para dispositivos móviles).
Explora el sistema de Gradle:
- Expande la carpeta Gradle Scripts. En el panel Project > Android, esta carpeta contiene todos los archivos que necesita el sistema de compilación.
- Busca el archivo build.gradle(Project: HelloWorld).
Este archivo contiene las opciones de configuración que son comunes a todos los módulos que componen tu proyecto. Cada proyecto de Android Studio contiene un solo archivo de compilación de Gradle de nivel superior. Este archivo define los repositorios y las dependencias de Gradle que son comunes a todos los módulos del proyecto. - Busca el archivo build.gradle(Module:app).
Además del archivobuild.gradle
a nivel del proyecto, cada módulo tiene su propio archivobuild.gradle
. El archivobuild.gradle
de nivel de módulo te permite configurar los ajustes de compilación para cada módulo. (La app de HelloWorld solo tiene un módulo, el de la app en sí). Este archivobuild.gradle
es el que editas con mayor frecuencia cuando cambias la configuración de compilación a nivel de la app. Por ejemplo, editas este archivobuild.gradle
cuando cambias el nivel del SDK que admite tu app o cuando declaras nuevas dependencias en la seccióndependencies
. Obtendrás más información sobre ambos temas en un codelab posterior.
En esta tarea, usarás el administrador de dispositivos virtuales de Android (AVD) para crear un dispositivo virtual (un emulador). El dispositivo virtual simula la configuración de un tipo de dispositivo Android determinado. Luego, usarás ese dispositivo virtual para ejecutar la app.
Android Emulator es una aplicación independiente y tiene sus propios requisitos del sistema. Los dispositivos virtuales pueden ocupar mucho espacio en el disco. Si tienes algún problema, consulta Cómo ejecutar apps en Android Emulator.
Paso 1: Crea un dispositivo virtual de Android (AVD)
Para ejecutar un emulador en tu computadora, debes crear una configuración que describa el dispositivo virtual.
- En Android Studio, selecciona Tools > AVD Manager o haz clic en el ícono AVD Manager
en la barra de herramientas. Aparecerá el diálogo Your Virtual Devices . Si ya creaste dispositivos virtuales, el diálogo los mostrará (como se muestra en la siguiente figura). De lo contrario, verás una lista en blanco.
- Haz clic en +Create Virtual Device en la parte inferior izquierda del diálogo. Aparecerá el diálogo Select Hardware, que muestra una lista de dispositivos de hardware preconfigurados. La tabla proporciona una columna que muestra el tamaño de visualización diagonal (Size), la resolución de pantalla en píxeles (Resolution) y la densidad de píxeles (Density) para cada dispositivo.
- Selecciona un dispositivo, como Nexus 5X o Pixel XL, y haz clic en Siguiente. Aparecerá el diálogo System Image .
- Haz clic en la pestaña Recommended y elige qué versión del sistema Android ejecutar en el dispositivo virtual (por ejemplo, Pie).
- Después de elegir una imagen del sistema, haz clic en Siguiente. Se abrirá el diálogo Android Virtual Device (AVD). Verifica la configuración y haz clic en Finish.
Paso 2: Ejecuta la app en el dispositivo virtual
En esta tarea, finalmente ejecutarás tu nueva app.
- En Android Studio, selecciona Run > Run app o haz clic en el ícono Run [ICON HERE] en la barra de herramientas. [IMAGEINFO]: ic_run.png, ícono Run de Android Studio" style="width: 24.00px" src="img/6c65750f2ce7f651.png"> en la barra de herramientas. Aparecerá el diálogo Select Deployment Target y te advertirá que no hay dispositivos disponibles. Verás esta advertencia si no tienes un dispositivo físico conectado a tu computadora de desarrollo o si aún no iniciaste un dispositivo virtual.
- En el diálogo Select Deployment Target, en Available Virtual Devices, selecciona el dispositivo virtual que creaste. Haz clic en OK.
El emulador se inicia igual que un dispositivo físico. Según la velocidad de la computadora, este proceso puede tardar un poco. Se compila tu app y, cuando el emulador está listo, Android Studio sube el APK de la app al emulador y la ejecuta.
Deberías ver la app de HelloWorld, como se muestra en la siguiente figura.
En esta tarea, ejecutarás tu app en un dispositivo móvil físico, como un teléfono o una tablet, si tienes uno. Siempre prueba tus apps en dispositivos virtuales y físicos.
Necesita:
- Un dispositivo Android, como un teléfono o una tablet
- Un cable de datos USB para conectar tu dispositivo Android a la computadora a través del puerto USB
- Si usas un sistema Linux o Windows, es posible que debas realizar pasos adicionales. Consulta la documentación Cómo ejecutar apps en un dispositivo de hardware. Es posible que también debas instalar el controlador USB adecuado para tu dispositivo. Para los controladores USB basados en Windows, consulta Cómo instalar controladores USB de OEM.
Paso 1: Activa la depuración por USB
Para permitir que Android Studio se comunique con el dispositivo Android, debes habilitar la depuración por USB en la configuración Opciones para desarrolladores del dispositivo.
En Android 4.2 (Jelly Bean) y versiones posteriores, la configuración Opciones para desarrolladores está oculta de forma predeterminada. Para mostrar ese ajuste y habilitar la depuración por USB, haz lo siguiente:
- En tu dispositivo, abre Configuración, busca Acerca del teléfono, presiona Acerca del teléfono y presiona Número de compilación siete veces.
- Regresa a la página anterior (Configuración / Sistema). Opciones para desarrolladores aparecerá en la lista. Presiona Opciones para desarrolladores.
- Selecciona Depuración por USB.
Paso 2: Ejecuta tu app en el dispositivo Android
Ahora puedes conectar el dispositivo y ejecutar la app desde Android Studio.
- Conecta el dispositivo Android a la máquina de desarrollo con un cable USB. Aparecerá un diálogo en el dispositivo mediante el cual se te pedirá que permitas la depuración por USB.
- Selecciona la opción Permitir siempre para recordar esta computadora. Presiona Aceptar.
- En la computadora, en la barra de herramientas de Android Studio, haz clic en el botón Run
. Se abrirá el diálogo Select Deployment Target con la lista de emuladores y dispositivos conectados disponibles. Deberías ver tu dispositivo físico junto con los emuladores.
- Elige tu dispositivo y haz clic en OK. Android Studio instalará la app en tu dispositivo y la ejecutará.
Solución de problemas
Si Android Studio no reconoce el dispositivo, prueba lo siguiente:
- Desconecta el cable USB y vuelve a conectarlo.
- Reinicia Android Studio.
Si tu computadora aún no encuentra el dispositivo o lo declara "no autorizado", sigue estos pasos:
- Desconecta el cable USB.
- En el dispositivo, abre Opciones para desarrolladores en la app de Configuración.
- Presiona Revocar autorizaciones de depur. USB.
- Vuelve a conectar el dispositivo a la computadora.
- Cuando se te solicite, otorga autorizaciones.
Es posible que debas instalar el controlador USB adecuado para tu dispositivo. Consulta Cómo ejecutar apps en un dispositivo de hardware.
Desafío: Ahora que ya configuraste todo y te familiarizaste con el flujo de trabajo de desarrollo básico, haz lo siguiente:
- Crea un proyecto nuevo en Android Studio.
- Cambia el saludo "Hello World" por "Feliz cumpleaños a " y el nombre de alguien que haya cumplido años recientemente.
- Para instalar Android Studio, ve a Android Studio y sigue las instrucciones para descargarlo e instalarlo.
- Para ver la jerarquía de Android de una app en el panel Project, haz clic en la pestaña Project en la columna de pestañas vertical. Luego, selecciona Android en el menú desplegable de la parte superior.
- Cuando necesites agregar nuevas dependencias a tu proyecto o cambiar las versiones de las dependencias, edita el archivo
build.gradle(Module:app)
. - Todo el código y los recursos de una app se encuentran en las carpetas
app
yres
. La carpetajava
incluye actividades, pruebas y otros componentes en código fuente de Kotlin o Java (o ambos). La carpetares
contiene recursos, como diseños, cadenas e imágenes. - Para agregar funciones, componentes y permisos a tu app para Android, edita el archivo
AndroidManifest.xml
. Todos los componentes de la app, como las actividades adicionales, se deben declarar en este archivo XML. - Para crear un dispositivo virtual de Android (un emulador) que ejecute tu app, usa el AVD Manager.
- Para ejecutar tu app en un dispositivo Android físico con Android Studio, habilita la depuración por USB en el dispositivo. Para ello, abre Configuración > Acerca del teléfono y presiona Número de compilación siete veces. Luego, abre Configuración > Opciones para desarrolladores y selecciona Depuración por USB.
Curso de Udacity:
Documentación de Android Studio:
- Página de descarga de Android Studio
- Notas de la versión de Android Studio
- Introducción a Android Studio
- Cómo crear y administrar dispositivos virtuales
- Descripción general del manifiesto de la app
- Cómo configurar tu compilación
- Cómo crear y administrar dispositivos virtuales
Otro:
En esta sección, se enumeran las posibles actividades para el hogar para los alumnos que trabajan en este codelab como parte de un curso dirigido por un instructor. Depende del instructor hacer lo siguiente:
- Si es necesario, asigna una tarea.
- Comunicarles a los alumnos cómo enviar las actividades para el hogar.
- Califica las actividades para el hogar.
Los instructores pueden usar estas sugerencias en la medida que quieran y deben asignar cualquier otra actividad para el hogar que consideren apropiada.
Si estás trabajando en este codelab por tu cuenta, usa estas actividades para el hogar para probar tus conocimientos.
Compila y ejecuta una app
- Crea un proyecto de Android nuevo a partir de la plantilla Empty.
- Abre el archivo
res/strings.xml
. - Cambia el valor de la cadena
app_name
a "Mi lanzador de dados". Este nombre aparece en la barra de título. - Crea un emulador para un dispositivo, segmenta cualquier versión de Android que desees y ejecuta la app. Observa cómo cambió el título de la app.
Responde estas preguntas:
Pregunta 1
¿Cuál es el nombre del archivo de diseño de la actividad principal?
MainActivity.java
AndroidManifest.xml
activity_main.xml
build.gradle
Pregunta 2
¿Cuál es el nombre del recurso de cadena que especifica el nombre de la app?
app_name
xmlns:app
android:name
applicationId
Pregunta 3
¿Qué herramienta usas para crear un emulador nuevo?
- Android Device Monitor
- Administrador de AVD
- Administrador de SDK
- Editor de temas
Cómo enviar tu app para que se la califique
Verifica que la app tenga lo siguiente:
- Un
Activity
que muestra "Hello World" en la pantalla. - Una barra de título que dice "Mi Dice Roller".
Comienza la siguiente lección:
Para obtener vínculos a otros codelabs de este curso, consulta la página de destino de los codelabs de Conceptos básicos de Kotlin para Android.