Iterative Codeentwicklung

Als App-Entwickler entwickeln Sie die Benutzeroberfläche Ihrer App oft Schritt für Schritt, als alles auf einmal zu entwickeln. Android Studio unterstützt diesen Ansatz mit Jetpack Compose. Es bietet Tools, mit denen Sie Werte prüfen, ändern und das Endergebnis überprüfen können, ohne einen vollständigen Build ausführen zu müssen.

Live-Bearbeitung

Mit der Funktion „Live-Bearbeitung“ kannst du zusammensetzbare Funktionen in Emulatoren aktualisieren und physischen Geräten in Echtzeit. Dadurch werden Kontextwechsel zwischen dem Schreiben und dem Erstellen Ihrer App minimiert, sodass Sie sich länger ungestört auf das Schreiben von Code konzentrieren können.

Live Edit hat drei Modi:

  • Manuell: Codeänderungen werden angewendet, wenn sie manuell mit Strg + ' (Befehl + ' unter macOS) gepusht werden.
  • Manuell beim Speichern: Codeänderungen werden angewendet, wenn sie manuell mit Strg + S bzw. Befehlstaste + S unter macOS.
  • Automatisch: Änderungen werden auf das Gerät oder den Emulator angewendet, wenn Sie ein zusammensetzbaren Funktion.

Live Edit konzentriert sich auf UI- und UX-bezogene Codeänderungen. Live Edit funktioniert nicht Änderungen wie Aktualisierungen der Methodensignatur, das Hinzufügen neuer Methoden oder Klassen unterstützen. Änderungen in der Hierarchie. Weitere Informationen findest du in der Liste der Einschränkungen bei Livestreams Bearbeiten.

Diese Funktion ist kein Ersatz für das Erstellen und Ausführen deiner App oder für Änderungen übernehmen: Stattdessen dient er zur Optimierung Ihrer beim Erstellen, Bereitstellen und Iterieren zur Entwicklung der Compose-UI.

Der Best Practices-Workflow sieht so aus:

  1. Richten Sie Ihre Anwendung so ein, dass sie ausgeführt werden kann.
  2. Verwenden Sie die Live-Bearbeitung so oft wie möglich, bis Sie eine Änderung vornehmen müssen, die nicht von der Live-Bearbeitung unterstützt wird, z. B. das Hinzufügen neuer Methoden, während die App ausgeführt wird.
  3. Nachdem Sie eine nicht unterstützte Änderung vorgenommen haben, klicken Sie auf Ausführen Run icon, um Ihre App neu zu starten und die Live-Bearbeitung fortzusetzen.

Erste Schritte mit der Live-Bearbeitung

Gehen Sie zuerst so vor, um eine leere Aktivität vom Typ „Komposition“ zu erstellen, die Funktion „Live-Bearbeitung“ für Ihr Projekt zu aktivieren und Änderungen mit der Live-Bearbeitung vorzunehmen.

Neues Projekt einrichten

  1. Du benötigst Android Studio Giraffe oder höher, um zu beginnen installiert ist und dass das API-Level Ihres physischen Gerät oder Emulator ist mindestens 30.

  2. Öffne Android Studio und wähle im Fenster Welcome to Android (Willkommen bei Android) die Option New Project (Neues Projekt) aus. Studio. Wenn bereits ein Projekt geöffnet ist, können Sie ein neues indem Sie auf Datei > Neu > Neues Projekt.

  3. Wählen Sie die Vorlage Empty Compose Activity (Leere Aktivität zum Verfassen) für Smartphone und Tablet aus und klicken Sie dann auf Next (Weiter).

    Vorlagenauswahl in Android Studio
    Abbildung 1. Es stehen Vorlagen zur Auswahl. Wählen Sie für die Live-Bearbeitung Leere Aktivität zum Verfassen aus.
  4. Geben Sie im Dialogfeld Neues Projekt die erforderlichen Informationen ein: Name, Paketname, Speicherort, Mindest-SDK und Build-Konfigurationssprache.

    Beispielprojekteinstellungen aus Schritt 4, die in Android Studio eingegeben wurden
    Abbildung 2. Beispiel für Projekteinstellungen
  5. Klicken Sie auf Fertig.

Live-Bearbeitung aktivieren

  1. Rufe die Einstellungen auf, um die Funktion „Live-Bearbeitung“ zu aktivieren.

    • Klicken Sie unter Windows oder Linux auf Datei > Einstellungen > Editor > Live-Bearbeitung.
    • Unter macOS zu Android Studio > Einstellungen > Bearbeiter > Live-Bearbeitung:
  2. Wähle in den Einstellungen die Option Live-Bearbeitung und den gewünschten Modus aus.

    Im manuellen Modus werden Ihre Codeänderungen jedes Mal gepusht, wenn Sie Strg + ' (Befehlstaste + ' unter macOS) drücken. Wenn der manuelle Modus beim Speichern aktiviert ist, werden Ihre Codeänderungen jedes Mal angewendet, wenn Sie sie manuell mit Strg + S (Befehl + S unter macOS) speichern. Im automatischen Modus werden Ihre Codeänderungen direkt auf Ihrem Gerät oder Emulator angewendet.

    Benutzeroberfläche für Live-Bearbeitung in den Android Studio-Einstellungen
    Abbildung 3. Einstellungen für die Live-Bearbeitung.
  3. Öffnen Sie im Editor die Datei MainActivity, den Einstiegspunkt für Ihre App.

  4. Klicken Sie auf Ausführen UI-Schaltfläche. um Ihre Anwendung bereitzustellen.

  5. Nachdem du die Funktion „Live-Bearbeitung“ aktiviert hast, wird das grüne Häkchen Aktuell in der Liste angezeigt. im Fenster Running Devices (Laufende Geräte) rechts oben:

    Grünes Häkchen in der Live-Bearbeitung

Änderungen vornehmen und prüfen

Wenn Sie unterstützte Änderungen im Editor vornehmen, wird das virtuelle oder physische Testgerät werden automatisch aktualisiert.

Bearbeiten Sie beispielsweise die vorhandene Greeting-Methode in MainActivity so:

@Composable
fun Greeting(name: String) {
    Text(
        text = "Hello $name!",
        Modifier
            .padding(80.dp) // Outer padding; outside background
            .background(color = Color.Cyan) // Solid element background color
            .padding(16.dp) // Inner padding; inside background, around text)
    )
}

Ihre Änderungen werden sofort auf dem Testgerät angezeigt, wie in Abbildung 4 dargestellt.

Änderungen an der Begrüßungsmethode, die auf einem Gerät angewendet wurden
Abbildung 4: Testgerät, auf dem die Live-Bearbeitung von Änderungen am Greeting-Methode
.

Probleme bei der Live-Bearbeitung beheben

Wenn du deine Änderungen auf dem Testgerät nicht siehst, ist Android Studio möglicherweise fehlgeschlagen um Ihre Änderungen zu aktualisieren. Prüfen, ob in der Live-Bearbeitungsanzeige Folgendes angezeigt wird: Veraltet (siehe Abbildung 5). Dies weist auf einen Kompilierungsfehler hin. Klicken Sie auf den Indikator, um Informationen zum Fehler und Vorschläge zur Behebung zu erhalten.

Symbol „Live-Bearbeitung veraltet“
Abbildung 5. Statusanzeige für Live-Bearbeitung

Einschränkungen der Live-Bearbeitung

Im Folgenden finden Sie eine Liste der aktuellen Einschränkungen.

  • [Gilt nur für Android Studio Giraffe und höher] Für das Live-Bearbeiten ist Compose Runtime 1.3.0 oder höher erforderlich. Wenn in Ihrem Projekt eine niedrigere Version von Compose verwendet wird, ist die Live-Bearbeitung deaktiviert.

  • [Gilt nur für Android Studio Giraffe und höher] Für die Live-Bearbeitung ist AGP 8.1.0-alpha05 oder höher erforderlich. Wenn in Ihrem Projekt eine niedrigere AGP-Version verwendet wird, ist die Live-Bearbeitung deaktiviert.

  • Für die Live-Bearbeitung ist ein physisches Gerät oder Emulator mit API-Level 30 oder höher erforderlich.

  • Beim Live-Bearbeiten kann nur der Funktionskörper bearbeitet werden. Das bedeutet, dass Sie den Funktionsnamen oder die Signatur nicht ändern, Funktionen nicht hinzufügen oder entfernen und keine nicht funktionsbezogenen Felder ändern können.

  • Beim Live-Bearbeiten wird der Status der App zurückgesetzt, wenn Sie zum ersten Mal eine Compose-Funktion in einer Datei ändern. Dies geschieht nur nach der ersten Codeänderung. Der App-Status ist nicht durch spätere Codeänderungen zurückgesetzt, die Sie an Compose-Funktionen in dieser Datei vornehmen.

  • Bei Klassen, die mit der Live-Bearbeitung geändert wurden, kann es zu Leistungseinbußen kommen. Wenn Sie die Leistung Ihrer App bewerten möchten, führen Sie sie aus und verwenden Sie einen sauberen Release-Build.

  • Sie müssen einen vollständigen Durchlauf ausführen, damit der Debugger mit Klassen arbeiten kann, die Sie mit Live Edit geändert haben.

  • Eine laufende App kann abstürzen, wenn Sie sie mit der Live-Bearbeitung bearbeiten. In diesem Fall können Sie die Anwendung mit der Schaltfläche Ausführen Benutzeroberfläche
Schaltfläche noch einmal bereitstellen.

  • Bei der Live-Bearbeitung werden keine Bytecode-Änderungen vorgenommen, die in deinem in der Build-Datei des Projekts enthalten, z. B. Bytecode-Manipulation, die durch wird angewendet, wenn das Projekt mit den Optionen im Menü Build erstellt wird. indem Sie auf die Schaltfläche Build oder Run klicken.

  • Nicht zusammensetzbare Funktionen werden live auf dem Gerät oder Emulator aktualisiert. wird die vollständige Neuzusammensetzung ausgelöst. Die vollständige Neuzusammensetzung ruft unter Umständen nicht den Parameter aktualisierte Funktion. Bei nicht zusammensetzbaren Funktionen müssen Sie die neuen aktualisierte Funktionen oder führen Sie die App noch einmal aus.

  • Die Live-Bearbeitung wird beim Neustart der App nicht fortgesetzt. Sie müssen die App noch einmal ausführen.

  • Die Live-Bearbeitung unterstützt nur Prozesse, die debuggt werden können.

  • Die Live-Bearbeitung unterstützt keine Projekte, in denen in der Build-Konfiguration unter kotlinOptions benutzerdefinierte Werte für moduleName verwendet werden.

  • Die Live-Bearbeitung funktioniert nicht bei Bereitstellungen mit mehreren Bereitstellungen. Das bedeutet, dass Sie die Bereitstellung nicht auf einem Gerät und dann auf einem anderen ausführen können. Live-Bearbeitung ist nur auf folgenden Geräten aktiv: die letzten Geräte, auf denen die App bereitgestellt wurde.

  • Die Live-Bearbeitung funktioniert bei Bereitstellungen auf mehreren Geräten Geräte, die mit Mehrere Geräte auswählen im Ziel erstellt wurden Geräte-Dropdown-Menü). Es wird jedoch nicht offiziell unterstützt und es könnte Probleme. Wenn Probleme auftreten, bitte melde sie uns.

  • „Änderungen anwenden“ und „Codeänderungen anwenden“ sind nicht mit der Live-Bearbeitung kompatibel und erfordern einen Neustart der laufenden App.

  • Die Live-Bearbeitung unterstützt derzeit keine Android Automotive-Projekte.

Häufig gestellte Fragen zu Live-Bearbeitungen

  • Wie ist der aktuelle Status von Live Edit?

    Die Live-Bearbeitung ist in Android Studio Giraffe verfügbar. So aktivieren Sie sie: Gehen Sie zu Datei > Einstellungen > Bearbeiter > Live-Bearbeitung (Android Studio > Einstellungen > Bearbeiter > Live-Bearbeitung unter macOS).

  • Wann sollte ich die Live-Bearbeitung verwenden?

    Verwenden Sie die Live-Bearbeitung, wenn Sie schnell sehen möchten, wie sich Änderungen an UX-Elementen (z. B. an Modifikatoren und Animationen) auf die gesamte App auswirken.

  • Wann sollte ich die Funktion „Live-Bearbeitung“ nicht verwenden?

    Bei der Live-Bearbeitung liegt der Schwerpunkt auf UI- und UX-bezogenen Codeänderungen. Nicht unterstützt z. B. durch Aktualisierungen der Methodensignatur, das Hinzufügen neuer Methoden oder Änderungen in der Hierarchie. Weitere Informationen findest du unter Einschränkungen bei Livestreams Bearbeiten.

  • Wann sollte ich die Vorschau verwenden?

    Verwenden Sie die Compose-Vorschau, wenn Sie einzelne Composeables entwickeln. In der Vorschau werden Compose-Elemente visualisiert und automatisch aktualisiert, um die Auswirkungen von Codeänderungen zu sehen. Die Vorschau unterstützt auch die Anzeige von UI-Elementen unter Konfigurationen und Status, wie z. B. dunkles Design, Gebietsschemata und Schriftarten

Live-Bearbeitung von Literalen (eingestellt)

In Android Studio können einige Konstantenliterale, die in Compose-Elementen in Vorschau, Emulator und auf dem physischen Gerät verwendet werden, in Echtzeit aktualisiert werden. Hier sind einige Unterstützte Typen:

  • Int
  • String
  • Color
  • Dp
  • Boolean

Video, in dem zu sehen ist, wie ein Nutzer Literale im Quellcode ändert, und die Vorschau
wird aktualisiert
dynamisch

Sie können sich konstante Literale ansehen, die Echtzeitaktualisierungen ohne das Kompilierungsschritt, indem er über die Live-Bearbeitung UI-Anzeige für Literale:

Live-Bearbeitung aktivieren von
Literale

Änderungen übernehmen

Über Änderungen übernehmen können Sie Code und Ressourcen aktualisieren. ohne dass Sie Ihre App in einem Emulator oder auf einem physischen Gerät (mit einigen Einschränkungen).

Wenn Sie zusammensetzbare Funktionen hinzufügen, ändern oder löschen, können Sie Ihre App aktualisieren, ohne indem Sie auf die Schaltfläche Codeänderungen anwenden klicken:

Der Nutzer klickt auf die Schaltfläche „Änderungen übernehmen“.