Uso de Android Studio

Android Studio es un entorno de desarrollo integrado (IDE) para el desarrollo de aplicaciones Android basado en IntelliJ. Compila el código y lo instala en el Robot Controller: el Control Hub o un teléfono Android legal.

Descarga de Android Studio

Si ya has descargado Android Studio, puedes pasar al siguiente paso, que es setting up the SDK.

Los pasos para descargar y configurar Android Studio son:

  1. Compruebe que su sistema cumple los requisitos necesarios

  2. Instala la última versión de Android Studio desde https://developer.android.com/studio/index.html

  3. Ejecute el programa, siga el asistente de instalación y utilice todos los kits de desarrollo recomendados.

Configuración del SDK

Ahora que tienes instalado Android Studio, vas a querer usar el SDK (kit de desarrollo de software) de la temporada actual de FTC® donde crearás el código de tu equipo.

Descarga del SDK

El SDK se libera públicamente en un repositorio de GitHub. El SDK actual se puede encontrar en el repositorio FtcRobotController.

Descargar y abrir el SDK en Android Studio

  1. Abra Android Studio. Si tiene otro proyecto abierto, ciérrelo (Archivo -> Cerrar proyecto). Asegúrese de que «Proyectos» está seleccionado en la barra lateral.

    Debería aparecer una pantalla con una opción para configurar los ajustes e importar un proyecto
  2. Haz clic en el icono del engranaje en la esquina inferior izquierda, y selecciona «buscar actualizaciones». Si no tienes la última versión, descarga las actualizaciones.

  3. Seleccione «Obtener de VCS». Asegúrate de que la opción «Repository URL» está seleccionada en la barra lateral y, a continuación, introduce https://github.com/FIRST-Tech-Challenge/FtcRobotController.git en el cuadro de texto de la URL. Por último, haz clic en el botón Clonar de la esquina inferior derecha para descargar el SDK.

    Truco

    Considera también cambiar el nombre de la carpeta final en el cuadro de texto Directorio de FtcRobotController a algo que refleje tu equipo y la temporada, por ejemplo, el equipo número 99999 podría usar 99999-2025-26-code.

    TODO: alt text
  4. Cuando se le pregunte si desea confiar en el proyecto y abrirlo, elija «Confiar en el proyecto».

    TODO: alt text
  5. Selecciona el icono del martillo en el grupo de iconos de la esquina superior derecha de la ventana. Esto descargará los módulos necesarios y construirá el proyecto.

    TODO: alt text
  6. Espere a que Gradle complete la construcción. Este indicador debe estar situado en la parte inferior de la ventana por defecto.

    Una compilación Gradle en curso

Diseño

Android Studio puede parecer intimidante a primera vista, pero sólo se necesitan unas pocas funciones para utilizarlo correctamente.

Diseño de Android Studio

Creación de clases

Lo primero que hay que observar en la vista del proyecto es el panel izquierdo con los componentes del proyecto. Expanda la carpeta TeamCode, luego la carpeta java, y verá un paquete org.firstinspires.ftc.teamcode.

TeamCode > java > org.firstinspires.ftc.teamcode

Aquí es donde crearás tu código para el robot. Para crear una nueva clase Java, haga clic con el botón derecho del ratón en el paquete, seleccione Nuevo y, a continuación, elija «Clase Java».

Nuevo > Clase de Java

Si desea crear una subcarpeta con fines de organización, puede seleccionar la opción «Paquete». A continuación, puede crear clases en esos paquetes.

Truco

El archivo readme.md de este directorio contiene documentación útil, incluida información sobre programas de ejemplo incluidos en el SDK que puede utilizar y modificar. Le recomendamos encarecidamente que lea esta información.

Instalación del programa

Para instalar su programa en el Robot Controller, utilice el botón de reproducción situado en la parte superior central de la ventana de la aplicación.

Botón de reproducción junto al menú desplegable de dispositivos

Cerca de él verás un desplegable de dispositivos. Cuando conectes tu Robot Controller al ordenador, el dispositivo debería aparecer en el desplegable al cabo de un rato. A continuación, haz clic en el botón de reproducción y tu programa se instalará en el dispositivo.

Si tiene algún problema con este proceso, consulte la documentación oficial de REV. Algunas páginas útiles del sitio REV son:

Si sigues atascado, puedes pedir ayuda en el FTC Discord.

Gradle

Gradle es una herramienta de compilación para el desarrollo de software. En el ámbito de FTC, se utiliza para construir y gestionar las dependencias de su proyecto.

Cuando actualices cualquiera de tus archivos Gradle tendrás que realizar una sincronización Gradle, que sincroniza tu proyecto con los cambios y lo reconstruye. En tu build.common.gradle, encontrarás información sobre cómo se construye tu aplicación de controlador de robot.

Reconstrucción

Puedes reconstruir tu proyecto fácilmente con el menú Construir.

El menú de construcción en la parte superior de la pantalla

Nota: En Windows y Linux, se accede a la barra de menús haciendo clic en el icono del menú hamburguesa situado en la parte superior izquierda de la ventana.

Para limpiar tu proyecto y poder reconstruirlo desde cero, elige la opción limpiar proyecto. Esto elimina los archivos compilados antiguos de su proyecto. Para reconstruir el proyecto, elija la opción de reconstrucción.

Invalidar y reiniciar

A veces pueden aparecer errores después de mover cosas, refactorizar, etc. El primer paso es intentar limpiar el proyecto y reconstruirlo. Si esto no funciona, puede ser capaz de corregir estos errores con invalidar y reiniciar en el menú desplegable file. Esto limpia cualquier caché que tenga Android Studio y lo reinicia.

Añadir dependencias

Si quieres añadir dependencias a tu proyecto, puedes hacerlo en el archivo build.gradle en el directorio TeamCode.

Debería haber un bloque de dependencias al final del archivo.

dependencies {
    implementation project(':FtcRobotController')
}

Algunas dependencias requieren cambios en otros archivos de Gradle. Asegúrate de leer las instrucciones de instalación de la dependencia que quieras añadir.

A continuación, añada una línea en el bloque de dependencias para implementar la dependencia. Esto se hace generalmente con implementation 'com.developer.package:name:version'.

dependencies {
    implementation project(':FtcRobotController')

    implementation 'com.developer.package:name:version'
}

Consulte las instrucciones de la biblioteca que esté utilizando para conocer el nombre y la versión correcta del paquete.

Por último, realice una sincronización Gradle.

Puente de depuración de Android (adb)

Nota

En macOS, Linux o utilizando PowerShell, tendrá que cambiar cualquier comando que empiece por adb para que empiece por ./adb si se encuentra en el directorio platform-tools.

Comunicación Inalámbrica

Android Debug Bridge (ADB) es una herramienta de línea de comandos que permite la comunicación inalámbrica entre el controlador del robot (teléfono o Control Hub).

ADB debería venir con las herramientas de plataforma en Android Studio. Navega a tu archivo local.properties en la raíz de tu proyecto y deberías ver una ruta al SDK de Android en tu ordenador, como C:`UsersWoodieAppDataLocalAndroidSdk. A continuación, vaya a platform-tools y una aplicación llamada adb debería estar allí. Para usarlo, abra CLI (como PowerShell o símbolo del sistema) y ejecute adb devices o ./adb devices.

Para más información sobre ADB, puede consultar la documentación sobre ADB.

Configuración de ADB

  1. Asegúrate de que la depuración USB está activada en tu dispositivo y de que está en modo desarrollador.

  2. Asegúrate de que tienes ADB instalado. Si no lo tiene, siga las instrucciones de este enlace

Nota

Puede utilizar logcat a través de ADB con el comando adb logcat. Esto es extremadamente útil para la depuración, ya que le permite ver los registros de forma inalámbrica, lo que ahorra tiempo. Recuerda, logcat es la mejor manera de depurar tu software.

Añadir ADB a PATH

Si quieres usar ADB desde cualquier directorio, añádelo a PATH. Sigue un tutorial online para añadirlo al PATH y establece el PATH al directorio platform-tools. Una vez hecho esto, podrás ejecutar comandos ADB desde cualquier parte de tu sistema.

Añadir variables a PATH:

Conexión Inalámbrica a un Control Hub

  1. Conéctese al punto de acceso Wi-Fi alojado en el Control Hub. El hotspot debe llamarse «TEAMNUMBER-RC» o alguna pequeña derivación del mismo. Puede incluir letras adicionales si tiene varios dispositivos por equipo. Consulte R707 en el Competition Manual para más detalles sobre el esquema de nomenclatura de la red.

  2. Una vez conectado a la red de un Control Hub, sólo tienes que conectarte a él utilizando adb connect 192.168.43.1:5555.

    • Alternativamente, si tienes el REV Hardware Client ejecutándose, intentará conectar automáticamente ADB a cualquier Control Hub conectado vía Wi-Fi. Esta opción no requiere configurar manualmente ADB, por lo que es la preferida por muchos equipos que utilizan ordenadores compatibles.

Conexión Inalámbrica a un Teléfono

  1. Conecta el teléfono controlador del robot al ordenador.

  2. Ejecute el comando adb devices en el directorio platform-tools y compruebe si aparece el teléfono.

  3. Ejecute adb usb y luego adb tcpip 5555. A continuación, puede desenchufar el teléfono.

  4. Conéctese a la misma red Wi-Fi que aloja o en la que se encuentra el dispositivo. La red Wi-Fi directa creada por el teléfono debe llamarse «TEAMNUMBER-RC» o alguna pequeña derivación de la misma. Puede incluir letras adicionales si tiene varios dispositivos por equipo. Consulte R707 en el Competition Manual para más detalles sobre el esquema de nomenclatura de redes.

  5. Conéctese al teléfono utilizando adb connect 192.168.49.1:5555. Si esto no funciona, vuelva a comprobar la dirección IP del teléfono e inténtelo de nuevo con esa dirección IP si es diferente.

Una vez establecida la conexión con un Control Hub o un teléfono, debería aparecer automáticamente en el desplegable de dispositivos de Android Studio.

Logcat

Logcat es extremadamente útil para depurar problemas con tu código en tiempo de ejecución o para averiguar qué ha ido mal. Por ejemplo, si la actividad de tu aplicación se bloquea y consultas el registro y ves 5000 líneas con el mismo error, ¡probablemente haya una recursividad infinita en tu código!

Para utilizar logcat, conecta tu dispositivo (o conéctalo mediante ADB). A continuación, selecciona el botón logcat. Tu ventana debería tener este aspecto.

Pestañas terminal y logcat en la parte inferior izquierda Un dispositivo y una aplicación seleccionados con los mensajes de error

Puede encontrar información útil sobre el uso de logcat aquí.

Si tienes un problema que no entiendes, puedes hacer una captura de pantalla del registro o seleccionar y copiar el error y hacer una pregunta en el FTC discord.

Configuración Inalámbrica

Puede establecer una configuración en la estación del conductor o en el controlador del robot de la forma habitual. Sin embargo, también puedes crear un archivo XML de configuración válido en TeamCode/src/main/res/xml. Puedes encontrar tus archivos de configuración en la carpeta /sdcard/FIRST como un archivo XML con el mismo nombre que la configuración.

Para obtener estos archivos XML de forma inalámbrica, puede utilizar adb pull /sdcard/FIRST/config.xml /fully/qualified/path/res/xml.

Si hay un archivo XML de configuración válido en res/xml, aparecerá como una configuración que puede utilizar para el robot cuando lo envíe al controlador del robot o a un Control Hub.

Control de Versiones

El control de versiones es una herramienta extremadamente útil. Permite consultar (y revertir) versiones anteriores del código, facilitar la colaboración, disponer de varias versiones del código que pueden fusionarse, etc.

En cuanto a los sistemas de control de versiones, recomendamos encarecidamente git, especialmente cuando se utiliza con una interfaz gráfica de usuario como las herramientas VCS integradas en Android Studio o Github Desktop. Mientras que un tutorial de git está fuera del alcance de Game Manual 0, aquí hay algunos recursos de git: