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 verfolgt diesen Ansatz mit Jetpack Compose bietet Tools, die keinen vollständigen Build zur Inspektion erfordern, Werte zu ändern und das Endergebnis zu überprüfen.

Live-Bearbeitung

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

<ph type="x-smartling-placeholder">

Für die Live-Bearbeitung gibt es drei Modi:

  • Manuell: Codeänderungen werden angewendet, wenn sie manuell über Strg + ' (Befehlstaste + ' unter macOS)
  • 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.

Bei der Live-Bearbeitung liegt der Schwerpunkt auf UI- und UX-bezogenen 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 Änderungen übernehmen: Stattdessen dient er zur Optimierung Ihrer beim Erstellen, Bereitstellen und Iterieren zur Entwicklung der Compose-UI.

Der bewährte Workflow sieht so aus:

  1. Richten Sie Ihre Anwendung so ein, dass sie ausgeführt werden kann.
  2. Live-Bearbeitung so weit wie möglich, bis du eine Änderung an dieser Live-Bearbeitung unterstützt, beispielsweise 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 Ausführen
Symbol, um das Gerät neu zu starten App und setze die Live-Bearbeitung fort.

Erste Schritte mit der Funktion „Live-Bearbeitung“

Führen Sie zunächst die folgenden Schritte aus, um eine leere Schreibaktivität zu erstellen, aktivieren Sie Live Edit für dein Projekt und kannst mit der Funktion „Live Edit“ Änderungen vornehmen.

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 Leere Schreibaktivität für Smartphone und Tablet aus und Klicken Sie dann auf Weiter.

    <ph type="x-smartling-placeholder">
    </ph> Vorlagenauswahl in Android Studio
    Abbildung 1. Es stehen Vorlagen zur Auswahl. Für die Live-Bearbeitung: wählen Sie Empty Compose Activity aus.
  4. Geben Sie im Dialogfeld New Project (Neues Projekt) die erforderlichen Informationen ein: Name, Paketname, Speicherort, SDK-Minimum und Build-Konfigurationssprache.

    <ph type="x-smartling-placeholder">
    </ph> In Android Studio eingegebene Beispielprojekteinstellungen aus Schritt 4
    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.

    • Unter Windows oder Linux: Gehen Sie zu Datei > Einstellungen > Bearbeiter > Live-Bearbeitung:
    • Unter macOS zu Android Studio > Einstellungen > Bearbeiter > Live-Bearbeitung:
  2. Wähle die Option Live-Bearbeitung und den Modus, den du ausführen möchtest, aus der Einstellungen.

    Im manuellen Modus werden Ihre Codeänderungen jedes Mal übertragen, wenn Sie die Taste Strg + ' bzw. Befehlstaste + ' unter macOS. Im manuellen Modus an Änderungen am Code jedes Mal angewendet, wenn Sie mit Strg + S (Befehlstaste + S für macOS). Im Automatikmodus werden Ihre Codeänderungen auf Ihrem Gerät oder während Sie Ihre Änderungen vornehmen.

    <ph type="x-smartling-placeholder">
    </ph> 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, die den Einstiegspunkt für 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:

    Benutzeroberfläche mit grünem Häkchen bei 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.

Ändern Sie beispielsweise die vorhandene Methode Greeting in MainActivity zu Folgendes:

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

<ph type="x-smartling-placeholder">
</ph> Änderungen an der Begrüßungsmethode auf einem Gerät
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 Sie, ob in der Live-Bearbeitungsanzeige Folgendes angezeigt wird: Veraltet (siehe Abbildung 5). Dies weist auf einen Kompilierungsfehler hin. Für Informationen zum Fehler und Vorschläge zur Fehlerbehebung, klicken Sie auf das .

<ph type="x-smartling-placeholder">
</ph> 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.

  • [Nur für Android Studio Giraffe und höher] Für die Live-Bearbeitung ist Compose Runtime erforderlich. 1.3.0 oder höher. Wenn Sie für Ihr Projekt eine ältere Version von „Compose“ verwenden, ist die Live-Bearbeitung deaktiviert.

  • [Nur für Android Studio Giraffe und höher] Für die Live-Bearbeitung ist AGP 8.1.0-alpha05 erforderlich oder höher liegen. Wenn Ihr Projekt eine niedrigere Version verwendet ist die Live-Bearbeitung deaktiviert.

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

  • Bei der Live-Bearbeitung können nur Funktionskörper bearbeitet werden. den Funktionsnamen oder die Signatur ändern, eine Funktion hinzufügen oder entfernen nicht-Funktionsfelder.

  • Bei der Live-Bearbeitung wird der Status der App zurückgesetzt, wenn du in in einer Datei. Dies geschieht nur nach der ersten Codeänderung. Der App-Status ist nicht durch nachfolgende Codeänderungen zurückgesetzt, die Sie an Compose-Funktionen in dieser Datei vornehmen.

  • Klassen mit geänderter Live-Bearbeitung können zu Leistungseinbußen führen. Führe dein und verwende einen bereinigten Release-Build, wenn du die Leistung.

  • Sie müssen eine vollständige Ausführung durchführen, damit der Debugger mit Klassen arbeitet, die Sie die mit der Live-Bearbeitung geändert wurden.

  • 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, oder 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 fehlerbehebbare Prozesse.

  • Live Edit unterstützt keine Projekte, die benutzerdefinierte Werte für moduleName verwenden unter kotlinOptions in der Build-Konfiguration.

  • Die Live-Bearbeitung funktioniert nicht bei Bereitstellungen mit mehreren Bereitstellungen. Das bedeutet, dass Sie nicht auf einem Gerät und dann auf einem anderen Gerät. 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 übernehmen/Codeänderungen anwenden" ist nicht mit der Live-Bearbeitung kompatibel. und erfordern, dass die ausgeführte App neu gestartet wird.

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

Häufig gestellte Fragen zur Live-Bearbeitung

  • Wie ist der aktuelle Status der Live-Bearbeitung?

    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 Funktion „Live-Bearbeitung“ verwenden?

    Verwenden Sie die Funktion „Live-Bearbeitung“, wenn Sie schnell die Auswirkungen von Aktualisierungen auf die UX sehen möchten. Elemente (wie Modifikatoraktualisierungen und Animationen) in der gesamten App Nutzererfahrung.

  • 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 Schreibvorschau verwenden?

    Verwenden Sie die E-Mail-Vorschau, wenn Sie einzelne zusammensetzbare Funktionen entwickeln. Vorschau Visualisiert „Compose“-Elemente und wird automatisch aktualisiert, um Auswirkungen von Codeänderungen. 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)

Android Studio kann einige konstante Literale, die in den zusammensetzbaren Funktionen in Vorschauen, im Emulator und auf dem physischen Gerät verwenden. 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:

Nutzer, der auf „Änderungen übernehmen“ klickt
Schaltfläche