Aspectos básicos de Kotlin para Android 01.1: Cómo comenzar

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 en secuencia. Todos los codelabs del curso se detallan en la página de destino de codelabs sobre los aspectos básicos de Kotlin para Android.

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 mediante un IDE (entorno de desarrollo integrado), como Android Studio.
  • Debes tener al menos un año de experiencia en programación orientada a objetos, con al menos conocimientos de Java y Kotlin.

Qué aprenderás

  • Cómo compilar una app básica para Android en Android Studio
  • Cómo crear un proyecto de Android a partir de una plantilla
  • Cómo encontrar los componentes principales de un proyecto de Android
  • Cómo ejecutar una app para Android en un emulador o dispositivo físico

Actividades

  • Crea un nuevo proyecto de Android y una app predeterminada que se llame HelloWorld.
  • Crea un emulador (un dispositivo virtual) para que puedas 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 string "Hello World&quot en la pantalla de un dispositivo virtual de Android o de un dispositivo físico. La app se verá de la siguiente manera:

En esta tarea, crearás un nuevo proyecto de app para verificar que Android Studio esté instalado correctamente.

  1. Abre Android Studio si aún no está abierto.
  2. En el diálogo principal Welcome to Android Studio, haz clic en Start a new Android Studio project.

  3. Aparecerá el diálogo Choose your project. Selecciona Empty Activity como se muestra a continuación y haz clic en Next.



    Un Activity es un elemento único que puede hacer el usuario. Cada app debe tener al menos una actividad como punto de entrada. Considera esta actividad de punto de entrada como la función main() 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 Activity para ayudarte a comenzar.
  4. En el diálogo Configure your project, ingresa "HelloWorld" en Name.

  5. Acepta el android.example.com predeterminado para Dominio de la empresa o crea un dominio de la empresa único. Este valor más el nombre de la app es el nombre del paquete de tu app. Si no planeas publicarla, acepta la predeterminada. Puedes cambiar el nombre del paquete de tu app más adelante, pero se necesita más trabajo.
  6. Verifica que la ubicación predeterminada Guardar ubicación sea donde deseas almacenar tu aplicación. De lo contrario, cambia la ubicación a tu directorio preferido.
  7. Asegúrate de que el Language sea Kotlin.
  8. Asegúrate de que el nivel de API mínimo sea API 19: Android 4.4 (KitKat). Cuando 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.
    Más adelante, obtendrás información sobre los niveles mínimos de API en un codelab. Para obtener más información ahora mismo, haz clic en Help me choose, que abre una ventana con información sobre los niveles de API.
  9. Selecciona la casilla de verificación Use AndroidX artifacts.
  10. Deje todas las demás casillas de verificación vacías y haga clic en Finish. 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 poco. Sigue las indicaciones y acepta las opciones predeterminadas.

Android Studio ahora creará tu proyecto, lo que puede tardar un poco. No deberías ver 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 de desarrollo con Android Studio.

Paso 1: Explore el panel Project

  1. Si la pestaña Proyecto no está seleccionada, selecciónala. La pestaña Project se encuentra en la columna vertical de la pestaña del lado izquierdo de la ventana de Android Studio. Se abrirá el panel Proyecto.


  2. Para ver el proyecto como una jerarquía de proyectos estándar de Android, selecciona Android en el menú desplegable de la parte superior del panel Project. (Android es la opción predeterminada). Puedes ver los archivos del proyecto de diferentes maneras, incluido cómo se muestran en la jerarquía del sistema de archivos. Sin embargo, es más sencillo trabajar en él con la vista de Android.

Paso 2: Explora la carpeta de la app

Todo el código y los recursos para tu app se encuentran en la carpeta app.

  1. En el panel Project > Android, expande la carpeta app. Dentro de la carpeta app hay cuatro subcarpetas: manifests, java, generatedJava y res.
  2. Expande la carpeta java y, luego, la carpeta com.example.android.HelloWorld para ver el archivo MainActivity en Kotlin.



    La carpeta java contiene todo el código Kotlin principal de una app para Android. Existen razones históricas por las que aparece tu código Kotlin en la carpeta Java. Esa convención permite que Kotlin opere sin inconvenientes con el código escrito en el lenguaje de programación Java, incluso en el mismo proyecto y la misma 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 clase MainActivity es el punto de entrada principal para tu app. Obtén más información sobre MainActivity en el siguiente codelab. Las otras dos carpetas de la carpeta java se usan para el código relacionado con pruebas, como las pruebas de unidades.
  1. Observe la carpeta generateJava. Esta carpeta contiene archivos que Android Studio genera cuando compila la app. No edites nada de esta carpeta, ya que los cambios podrían anularse cuando vuelvas a compilar la app. Sin embargo, resulta útil saberlo cuando necesitas observar estos archivos durante la depuración.

Paso 3: Explora la carpeta res

  1. En el panel Project > Android, expande la carpeta res.

    La carpeta res contiene recursos. En Android, los recursos son contenido estático que se usa en tus apps. Los recursos incluyen imágenes, strings de texto, diseños de pantalla, estilos y valores como colores hexadecimales o dimensiones estándar.

    Las apps para Android separan los recursos y el código Kotlin lo más posible. lo que facilita mucho encontrar las strings o los íconos 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 en los que se usa en la app.
  2. Dentro de la carpeta res, expande la carpeta layout para ver el archivo activity_main.xml.


Por lo general, tu Activity está asociado con un archivo de diseño de la IU, definido como un archivo XML en el directorio res/layout. Ese archivo de diseño generalmente lleva el nombre de 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 el archivo AndroidManifest.xml

La carpeta manifests contiene archivos que proporcionan información esencial sobre tu app al sistema Android.

  1. Expande la carpeta manifests y haz doble clic en AndroidManifest.xml para abrirla. El archivo AndroidManifest.xml incluye detalles que el sistema Android necesita para ejecutar la app, incluidas las actividades que forman parte de ella.


  2. Ten en cuenta que se hace referencia a MainActivity en el elemento <activity>. Se debe declarar cualquier Activity en tu app. Este es un ejemplo de MainActivity:
<activity android:name=".MainActivity">
   <intent-filter>
       <action android:name="android.intent.action.MAIN"/>

       <category android:name="android.intent.category.LAUNCHER"/>
   </intent-filter>
</activity>
  1. 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 de selector. Aprenderás más sobre los filtros de intents en un codelab posterior.

El archivo AndroidManifest.xml también es el lugar donde definirías los permisos que necesitaría tu app. Los permisos incluyen la capacidad de tu aplicación para leer contactos del teléfono, enviar datos a través de 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, la configuración y las dependencias del proyecto 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 Android Package Kit (APK) instalado. (APK es el formato de archivo del paquete que usa el sistema operativo Android para distribuir e instalar apps para dispositivos móviles).

Explora el sistema de Gradle:

  1. Expande la carpeta Gradle Scripts. En el panel Project &Android, esta carpeta contiene todos los archivos que necesita el sistema de compilación.


  2. Busca el archivo build.gradle(Project: HelloWorld).

    Este archivo contiene las opciones de configuración 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 comunes a todos los módulos del proyecto.
  3. Busca el archivo build.gradle(Module:app).

    Además del archivo build.gradle a nivel del proyecto, cada módulo tiene un archivo build.gradle propio. El archivo build.gradle de nivel de módulo te permite ajustar la configuración de compilación para cada módulo. (La app de HelloWorld tiene solo un módulo, el módulo para la app en sí). Este archivo build.gradle es el que se edita con más frecuencia cuando se cambian las configuraciones de compilación de nivel de app. Por ejemplo, edita este archivo build.gradle cuando cambias el nivel del SDK que admite tu app o declaras dependencias nuevas en la sección dependencies. Aprenderás más sobre estas dos cosas en otro 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 que 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.

  1. En Android Studio, selecciona Tools > AVD Manager o haz clic en el ícono AVD Manager Ícono del Administrador de AVD en la barra de herramientas. Aparecerá el diálogo Your Virtual Devices. Si ya creaste dispositivos virtuales, se mostrarán en el diálogo (como se muestra en la siguiente figura). De lo contrario, verás una lista en blanco.

    Administrador de dispositivos virtuales de Android (AVD), en el que se muestra una lista de dispositivos virtuales ya creados
  2. Haz clic en +Create Virtual Device, en la parte inferior izquierda del diálogo. Aparecerá el diálogo Select Hardware con una lista de dispositivos de hardware configurados previamente. La tabla proporciona una columna que muestra el tamaño de pantalla diagonal (Size), la resolución de pantalla en píxeles (Resolution) y la densidad de píxeles (Density) para cada dispositivo.

    Selección del dispositivo de hardware
  3. Selecciona un dispositivo, como Nexus 5x o Pixel XL, y haz clic en Siguiente. Aparecerá el diálogo System Image.
  4. Haz clic en la pestaña Recommended y elige la versión del sistema Android que se ejecutará en el dispositivo virtual (como Pie).


  1. Después de elegir una imagen del sistema, haz clic en Next. 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á su aplicación nueva.

  1. En Android Studio, selecciona Run > Run app o haz clic en el ícono Ejecutar Elige Run > Run app o haz clic en el ícono de Run [ICON HERE] ubicado en la barra de herramientas. [IMAGEINFO]: ic_run.png, ícono Run de Android Studio de la barra de herramientas. Aparecerá el diálogo Select Deployment Target y te advertirá que no hay dispositivos disponibles. Esta advertencia se muestra si no tienes un dispositivo físico conectado a la computadora de desarrollo o si aún no has lanzado un dispositivo virtual.
  2. En el diálogo Select Deployment Target, en Dispositivos virtuales disponibles, selecciona el dispositivo virtual que creaste. Haz clic en OK.



    El emulador se inicia y se inicia como un dispositivo físico. Según la velocidad de la computadora, este proceso puede tardar un poco. Tu app se compilará, y cuando el emulador esté listo, Android Studio subirá el APK de la app al emulador y lo ejecutará.

    Verás 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.

Requisitos

  • Un dispositivo Android, como un teléfono o una tablet
  • Un cable de datos USB para conectar el 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 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:

  1. En el dispositivo, abre Configuración, busca Acerca del dispositivo, presiona Acerca del dispositivo y, luego, Número de compilación siete veces.
  2. Regresa a la página anterior (Configuración/Sistema). Aparecerá Opciones para desarrolladores en la lista. Presiona Opciones para desarrolladores.
  3. Selecciona Depuración por USB.

Paso 2: Ejecuta la app en el dispositivo Android

Ahora puedes conectar el dispositivo y ejecutar la app desde Android Studio.

  1. 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.


  2. Selecciona la opción Permitir siempre para recordar esta computadora. Presiona Aceptar.
  3. En la computadora, en la barra de herramientas de Android Studio, haz clic en el botón Run Ícono de ejecución de Android Studio. 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.


  4. 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:

  1. Desconecta el cable USB y vuelve a conectarlo.
  2. Reinicia Android Studio.

Si la computadora aún no encuentra el dispositivo o lo declara "no autorizado", sigue estos pasos:

  1. Desconecta el cable USB.
  2. En el dispositivo, abre Opciones para desarrolladores en la aplicación Configuración.
  3. Presiona Revocar autorizaciones de depur. USB.
  4. Vuelve a conectar el dispositivo a la computadora.
  5. 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 el flujo de trabajo básico de desarrollo y estás familiarizado con él, haz lo siguiente:

  1. Crea un proyecto nuevo en Android Studio.
  2. Cambia el saludo "Hello World" y "Happy Birthday" y el nombre de una persona que tenga un cumpleaños reciente.
  • 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 de la columna de pestañas verticales. Luego, selecciona Android en el menú desplegable de la parte superior.
  • Cuando necesites agregar dependencias nuevas a tu proyecto o cambiar versiones de dependencias, edita el archivo build.gradle(Module:app).
  • Todo el código y los recursos de una app se encuentran en las carpetas app y res. La carpeta java incluye actividades, pruebas y otros componentes en código fuente Kotlin o Java (o ambos). La carpeta res contiene recursos, como diseños, strings e imágenes.
  • Si quieres agregar funciones, componentes y permisos a tu app para Android, edita el archivo AndroidManifest.xml. Todos los componentes de la aplicación, como las actividades adicionales, deben declararse en este archivo en formato XML.
  • Usa el Administrador de AVD a fin de crear un dispositivo virtual de Android (un emulador) para ejecutar tu app.
  • 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 &gt Opciones para desarrolladores y selecciona Depuración por USB.

Curso de Udacity:

Documentación de Android Studio:

Otro:

En esta sección, se enumeran las posibles tareas para los alumnos que trabajan con este codelab como parte de un curso que dicta un instructor. Depende del instructor hacer lo siguiente:

  • Si es necesario, asigna la tarea.
  • Informa a los alumnos cómo enviar los deberes.
  • Califica las tareas.

Los instructores pueden usar estas sugerencias lo poco o lo que quieran, y deben asignar cualquier otra tarea que consideren apropiada.

Si estás trabajando en este codelab por tu cuenta, usa estas tareas para poner a prueba tus conocimientos.

Cómo compilar y ejecutar una app

  • Crea un nuevo proyecto de Android a partir de la plantilla vacía.
  • Abre el archivo res/strings.xml.
  • Cambia el valor de la string app_name a "My Dice Roller". Este nombre aparecerá en la barra de título.
  • Crea un emulador para un dispositivo que se oriente a cualquier versión de Android que te guste 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 strings que especifica el nombre de la app?

  • app_name
  • xmlns:app
  • android:name
  • applicationId

Pregunta 3

¿Qué herramienta se usa para crear un emulador nuevo?

  • Android Device Monitor
  • Administrador de AVD
  • SDK Manager
  • Editor de temas

Envía tu app para que se califique

Asegúrate de que la app tenga lo siguiente:

  • Un objeto Activity que muestra"Hello World"en la pantalla
  • Una barra de título que dice "My Dice Roller"

Comienza la siguiente lección: 1.2: Anatomía básica de las apps

Para ver vínculos a otros codelabs de este curso, consulta la página de destino de codelabs sobre aspectos básicos de Kotlin para Android.