Utilizarea Android Studio

Android Studio is an integrated development environment (IDE) for Android app development based on IntelliJ. It compiles your code which is then installed onto the Robot Controller: either the Control Hub or a legal Android phone.

Descărcarea Android Studio

If you’ve already downloaded Android Studio, you can move on to the next step, which is setting up the SDK.

Pașii pentru descărcarea și pregătirea Android Studio sunt:

  1. Verifică dacă sistemul tău este suficient de performant: cerințe necesare

  2. Install the latest version of Android Studio from https://developer.android.com/studio/index.html

  3. Rulează programul executabil, urmează pașii, și folosește orice sau toate kit-urile recomandate de dezvoltare.

Pregătirea SDK-ului

Now that you have Android Studio installed, you’re going to want to use the current season’s FTC® SDK (software development kit) where you will create your team’s code.

Descărcarea SDK-ului

The SDK is publicly released to a GitHub repository. The current SDK can be found in the FtcRobotController repository.

Downloading and opening the SDK in Android Studio

  1. Open Android Studio. If you have another project open, close it (File -> Close Project). Make sure „Projects” is selected on the sidebar.

    Un meniu ar trebui să apară cu o opțiune de a configura setări și importarea unui proiect.
  2. Click on the gear icon in the bottom left corner, and select „check for updates.” If you do not have the latest version, download the updates.

  3. Select „Get from VCS”. Make sure „Repository URL” is selected on the sidebar, then put https://github.com/FIRST-Tech-Challenge/FtcRobotController.git into the URL text box. Finally, click the Clone button in the bottom right corner to download the SDK.

    Sfat

    Consider also changing the name of the final folder in the Directory textbox from FtcRobotController to something that reflects your team and the season, e.g. team number 99999 might use 99999-2025-26-code.

    TODO: alt text
  4. When asked if you want to trust and open the project, choose „Trust Project”.

    TODO: alt text
  5. Select the hammer icon in the icon group in the top right corner of the window. This will download any needed modules and build the project.

    TODO: alt text
  6. Așteaptă ca Gradle să termine build-ul. Acest indicator ar trebui să fie localizat în partea de jos a ferestrei implicit.

    Un build Gradle in desfășurare

Aspect

Android Studio poate arăta intimidant la prima vedere, însă sunt doar câteva caracteristici necesare pentru a-l folosi corect.

Aspectul Android Studio

Crearea Claselor

The first thing to note in the project view is the left panel with the project components. Expand the TeamCode folder, then the java folder, and you will see an org.firstinspires.ftc.teamcode package.

TeamCode > java > org.firstinspires.ftc.teamcode

Aici este locul unde vei crea cod pentru robot. Pentru a crea o clasă nouă Java, click-dreapta pe pachet, selectează New, și apoi alege „Java Class”.

New > Java Class

If you want to create a subfolder for organization purposes, you can select the „Package” option. Then, you can create classes in those packages.

Sfat

The readme.md file in this directory contains useful documentation, including information on sample programs shipped with the SDK that you can use and modify. We highly recommend you read this information.

Instalarea Programului Tău

To install your program onto the Robot Controller, you will use the play button located near the top middle of the application window.

Butonul "play" de lângă lista de device-uri

Near it you will see a dropdown for devices. When you connect your Robot Controller to your computer, the device should appear in the dropdown after some time. Then, click the play button and your program will install onto the device.

Dacă intervine orice problemă în acest proces, citește documentația oficială `REV b<https://docs.revrobotics.com/duo-control/>`_. Câteva pagini folositoare de pe site-ul REV sunt:

If you’re still stuck, you can ask for help in the FTC Discord.

Gradle

Gradle este o unealtă de construcție pentru dezvoltarea software-ului. În scopul FTC, este folosit pentru a construi și organiza dependențele (dependencies) proiectului tău.

Când îți actualizezi fișierele Gradle trebuie să faci o sincronizare Gradle, care îți sincronizeaza proiectul cu schimbările făcute și îl reconstruiește. În build.common.gradle, vei găsi informații despre cum aplicația pentru Robot Controller este construită.

Reconstruirea

You can rebuild your project easily with the Build menu.

The build menu at the top of the screen

Note: On Windows and Linux, the menubar is accessed by clicking the hamburger menu icon at the top left of the window.

To clean your project to allow you to rebuild your project from scratch, choose the clean project option. This removes old compiled files from your project. To then rebuild your project, choose the rebuild option.

Invalidează și Restartează

Sometimes you can get errors after moving things around, refactoring, etc. The first step is to try cleaning the project and doing a rebuild. If this doesn’t work, you may be able to fix these errors with invalidate and restart under the file dropdown. This clears any caches Android Studio has and restarts it.

Adăugarea Dependențelor

Dacă vrei să adaugi dependențe proiectului tău, poți face acest lucru în fișierul build.gradle din registrul TeamCode.

Ar trebui să fie un bloc de dependențe la sfârșitul fișierului.

dependencies {
    implementation project(':FtcRobotController')
}

Unele dependențe au nevoie de schimbări la alte fișiere Gradle. Asigură-te că ai citit instrucțiunile de instalare pentru orice dependențe pe care vrei să le adaugi proiectului.

Next, you add a line in the dependencies block to implement the dependency. This is generally done with implementation 'com.developer.package:name:version'.

dependencies {
    implementation project(':FtcRobotController')

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

Citește instrucțiunile pentru orice librărie folosești pentru a adăuga numele și versiunea corectă a pachetului.

În final, realizează o sincronizare Gradle.

Android Debug Bridge (adb)

Notă

On macOS, Linux, or using PowerShell, you will have to change any commands that start with adb to start with ./adb if you are in the platform-tools directory.

Comunicare Wireless

Depanarea Android (ADB) este o unealtă prin terminalul de comandă care îți permite să comunici wireless cu Robot Controller-ul (telefon sau Control Hub).

ADB ar trebui să vină implicit cu uneltele din Android Studio. Navighează în fișierul local.properties în root-ul (fișierul de bază) proiectului tău și ar trebui să vezi un drum către Android SDK-ul instalat pe calculatorul tău, precum C:UsersWoodieAppDataLocalAndroidSdk. Apoi navighează către platform-tools, iar o aplicatie numită adb ar trebui să fie acolo. Pentru a o folosi, deschide CLI (precum Powershell sau terminalul de comandă) și rulează adb devices sau ./adb devices.

For more information on ADB, you can look at the ADB documentation.

Pregătirea ADB-ului

  1. Asigură-te că depanarea USB este activată pe dispozitivul tău și este în modul de dezvoltator.

  2. Asigură-te că ai ADB instalat. Dacă nu îl ai, urmează instructiunile la acest link

Notă

Poți folosi logcat via ADB prin comanda adb logcat. Această comandă este foarte folositoare pentru depanare deoarece îți permite să te uiți la istoric wireless, ceea ce salvează timp. Reține, logcat este cea mai bună metodă să îți depanezi software-ul.

Adaugă ADB la PATH

If you want to use ADB from any directory, add it to PATH. Follow an online tutorial for adding to PATH and set the PATH to include the platform-tools directory. Once you do that, you can run ADB commands from anywhere on your system.

Adăugarea variabilelor în PATH

Conectarea Wireless la un Control Hub

  1. Connect to the Wi-Fi hotspot hosted by the Control Hub. The hotspot should be called „TEAMNUMBER-RC” or some small derivation of that. It may include extra letters if you have multiple devices per team. Refer to R707 in the Competition Manual for further details on the network naming scheme.

  2. Odată ce esti conectat la rețeaua Control Hub-ului, pur și simplu te conectezi la el prin comanda adb connect 192.168.43.1:5555.

    • Alternatively, if you have the REV Hardware Client running, it will attempt to automatically connect ADB to any Control Hub connected via Wi-Fi. This option does not require manually setting up ADB, and is therefore preferred by many teams using supported computers.

Conectarea Wireless la un Telefon

  1. Conectează telefonul conectat la robot în calculator.

  2. Rulează comanda adb devices în registrul platform-tools și vezi dacă îți apare telefonul.

  3. Rulează adb usb, apoi adb tcpip 5555. Acum poți deconecta telefonul.

  4. Connect to the same Wi-Fi network the device is either hosting or on. The Wi-Fi direct network created by the phone should be called „TEAMNUMBER-RC” or some small derivation of that. It may include extra letters if you have multiple devices per team. Refer to R707 in the Competition Manual for further details on the network naming scheme.

  5. Conectează-te la telefon prin comanda adb connect 192.168.49.1:5555. Dacă aceasta nu merge, verifică adresa IP a telefonului și încearcă cu adresa IP respectivă dacă este diferită.

Once a connection is established to a Control Hub or phone, it should automatically appear in the device dropdown in Android Studio.

Logcat

Logcat is extremely useful for debugging issues with your code at runtime or figuring out what went wrong. For example, if your app activity crashes and you pull up the log seeing 5000 lines of the same error, there is probably infinite recursion in your code!

To use logcat, plug in your device (or connect via ADB). Then, select the logcat button. Your window should look like this.

Tab-ul terminalului și logcat-ul aproape de colțul din stânga-jos Un dispozitiv selectat și aplicația cu mesajele de erori

Some useful information on using logcat can be found here.

If you have an issue you don’t understand, you can take a screenshot of the log or select and copy the error and ask a question in the FTC discord.

Configurare Wireless

Îți poți face o configurație în Driver Station sau Robot Controller în mod normal. Totuși, îți poți crea și o configurație validă printr-un fișier XML în TeamCode/src/main/res/xml. Îți poți găsi fișierele de configurare în folder-ul /sdcard/FIRST sub formă de fișier XML cu acelaș nume al configurației.

Pentru a lua aceste fișiere XML wireless, poți folosi adb pull /sdcard/FIRST/config.xml /fully/qualified/path/res/xml.

Dacă o configurație validă dintr-un fișier XML este în res/xml, aceasta va apărea în lista de configurații și o poți folosi pe robot când o încarci pe Robot Controller sau pe Control Hub.

Version Control (Jurnal)

Version Control este o unealtă foarte folositoare. Îți permite să te uiti (și să revii) la versiuni anterioare ale codului, colaborare facilă, multiple versiuni ale codului care pot fi combinate împreună, etc.

Noi recomandăm git, în special când este folosit cu un meniu interactiv (GUI) precum uneltele VCS ale Android Studio sau GitHub Desktop. Deși un tutorial de git nu este documentat în Game Manual 0, aici sunt câteva resurse git: