Jako programista aplikacji mobilnych często tworzysz interfejs aplikacji krok po kroku, a nie wszystko naraz. Android Studio wspiera to podejście dzięki Jetpack Compose, udostępniając narzędzia, które nie wymagają pełnej kompilacji, aby sprawdzić i zmodyfikować wartości oraz zweryfikować ostateczny wynik.
Iteracja interfejsu wspomagana przez AI
Możesz użyć agenta AI w Android Studio, aby iteracyjnie udoskonalać i przekształcać interfejs Compose bezpośrednio z podglądu projektu. Kliknij prawym przyciskiem myszy podgląd Compose i wybierz jedną z tych działań AI:
- Dopasuj interfejs do obrazu docelowego: wybierz tę opcję, aby przesłać makietę projektu referencyjnego. Agent zaproponuje zmiany w kodzie, aby jak najbardziej dopasować implementację do projektu.
- Przekształć interfejs: użyj promptów w języku naturalnym (np. „zmień kolor przycisku na niebieski”), aby opisać konkretne modyfikacje, które chcesz wprowadzić w interfejsie.
Edycja na żywo
Edycja na żywo to funkcja, która umożliwia aktualizowanie elementów kompozycyjnych w emulatorach i na urządzeniach fizycznych w czasie rzeczywistym. Ta funkcja minimalizuje przełączanie kontekstu między pisaniem a kompilowaniem aplikacji, dzięki czemu możesz dłużej skupić się na pisaniu kodu bez przerw.
Edycja na żywo ma 3 tryby:
- Ręczny: zmiany w kodzie są stosowane, gdy zostaną ręcznie przesłane za pomocą Control+' (Command+' w macOS).
- Ręczny przy zapisywaniu: zmiany w kodzie są stosowane, gdy zostaną ręcznie zapisane za pomocą Control+S (Command+S w macOS).
- Automatyczny: zmiany są stosowane na urządzeniu lub w emulatorze, gdy aktualizujesz funkcję kompozycyjną.
Edycja na żywo koncentruje się na zmianach w kodzie związanych z interfejsem i wygodą użytkowania. Edycja na żywo nie obsługuje zmian takich jak aktualizacje sygnatury metody, dodawanie nowych metod czy zmiany hierarchii klas. Więcej informacji znajdziesz na liście ograniczeń edycji na żywo.
Ta funkcja nie zastępuje kompilowania i uruchamiania aplikacji ani stosowania zmian . Została ona zaprojektowana tak, aby zoptymalizować proces tworzenia, wdrażania i iteracji w celu opracowania interfejsu Compose.
Sprawdzony proces pracy wygląda tak:
- Skonfiguruj aplikację tak, aby można ją było uruchomić.
- Używaj edycji na żywo tak długo, jak to możliwe, dopóki nie będziesz musiał wprowadzić zmiany, której edycja na żywo nie obsługuje, np. dodania nowych metod podczas działania aplikacji.
- Po wprowadzeniu nieobsługiwanej zmiany kliknij Uruchom
, aby ponownie uruchomić
aplikację i wznowić edycję na żywo.
Pierwsze kroki z edycją na żywo
Aby rozpocząć, wykonaj te czynności, aby utworzyć pustą aktywność Compose, włączyć edycję na żywo w projekcie i wprowadzić zmiany za pomocą edycji na żywo.
Konfigurowanie nowego projektu
Zanim zaczniesz, upewnij się, że masz zainstalowane Android Studio Giraffe lub nowsze oraz że poziom API urządzenia fizycznego lub emulatora wynosi co najmniej 30.
Otwórz Android Studio i w oknie Witamy w Android Studio kliknij Nowy projekt. Jeśli masz już otwarty projekt, możesz utworzyć nowy, klikając kolejno Plik > Nowy > Nowy projekt.
Wybierz szablon Pusta aktywność Compose dla Telefonu i tabletu, a potem kliknij Dalej.
Rysunek 3. Szablony, które możesz wybrać. W przypadku edycji na żywo, wybierz Pusta aktywność Compose. Wypełnij okno Nowy projekt wymaganymi informacjami: nazwą, nazwą pakietu, lokalizacją zapisu, minimalnym SDK i językiem konfiguracji kompilacji.
Rysunek 4. Przykładowe ustawienia projektu. Kliknij Zakończ.
Włączanie edycji na żywo
Otwórz ustawienia, aby włączyć edycję na żywo.
- W systemie Windows lub Linux kliknij kolejno Plik > Ustawienia > Edytor > Edycja na żywo.
- W macOS kliknij kolejno Android Studio > Ustawienia > Edytor > Edycja na żywo.
W ustawieniach wybierz opcję Edycja na żywo i tryb, w którym chcesz ją uruchomić.
W trybie ręcznym zmiany w kodzie są przesyłane za każdym razem, gdy naciśniesz Control+' (Command+' w macOS). W trybie ręcznym przy zapisywaniu zmiany w kodzie są stosowane za każdym razem, gdy ręcznie zapiszesz kod, za pomocą Control+S (Command+S w macOS). W trybie automatycznym zmiany w kodzie są stosowane na urządzeniu lub w emulatorze podczas wprowadzania zmian.
Rysunek 5. Ustawienia edycji na żywo. W edytorze otwórz plik
MainActivity, który jest punktem wejścia do aplikacji.Aby wdrożyć aplikację, kliknij Uruchom
.Po włączeniu edycji na żywo w prawym górnym rogu okna narzędzia Uruchomione urządzenia pojawi się zielony symbol potwierdzenia Aktualne:

Wprowadzanie i sprawdzanie zmian
Gdy wprowadzasz obsługiwane zmiany w edytorze, wirtualne lub fizyczne urządzenie testowe aktualizuje się automatycznie.
Na przykład zmień istniejącą metodę Greeting w MainActivity na:
@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) ) }
Zmiany pojawią się natychmiast na urządzeniu testowym, jak pokazano na rysunku 6.
GreetingRozwiązywanie problemów z edycją na żywo
Jeśli nie widzisz zmian na urządzeniu testowym, Android Studio mogło nie zaktualizować zmian. Sprawdź, czy wskaźnik edycji na żywo wyświetla komunikat Nieaktualne , jak pokazano na rysunku 7, co oznacza błąd kompilacji. Aby uzyskać informacje o błędzie i sugestie dotyczące jego rozwiązania, kliknij wskaźnik.
Ograniczenia edycji na żywo
Poniżej znajdziesz listę aktualnych ograniczeń.
[Dotyczy tylko Android Studio Giraffe i nowszych wersji] Edycja na żywo wymaga Compose Runtime w wersji 1.3.0 lub nowszej. Jeśli Twój projekt używa starszej wersji Compose, edycja na żywo jest wyłączona.
[Dotyczy tylko Android Studio Giraffe i nowszych wersji] Edycja na żywo wymaga AGP w wersji 8.1.0-alpha05 lub nowszej. Jeśli Twój projekt używa starszej wersji AGP, edycja na żywo jest wyłączona.
Edycja na żywo wymaga urządzenia fizycznego lub emulatora z poziomem API 30 lub nowszym.
Edycja na żywo obsługuje tylko edytowanie treści funkcji, co oznacza, że nie możesz zmienić nazwy ani sygnatury funkcji, dodać ani usunąć funkcji ani zmienić pól innych niż funkcyjne.
Edycja na żywo resetuje stan aplikacji przy pierwszej zmianie funkcji Compose w pliku. Dzieje się tak tylko po pierwszej zmianie kodu – stan aplikacji nie jest resetowany przez kolejne zmiany kodu wprowadzane w funkcjach Compose w tym pliku.
Klasy zmodyfikowane za pomocą edycji na żywo mogą powodować pewne obniżenie wydajności. Jeśli oceniasz wydajność aplikacji, uruchom ją i użyj czystej kompilacji wersji.
Aby debuger działał w przypadku klas zmodyfikowanych za pomocą edycji na żywo, musisz przeprowadzić pełne uruchomienie.
Podczas edytowania aplikacji za pomocą edycji na żywo może ona ulec awarii. W takim przypadku, możesz ponownie wdrożyć aplikację za pomocą przycisku Uruchom
.Edycja na żywo nie wykonuje żadnych manipulacji kodu bajtowego zdefiniowanych w pliku kompilacji projektu – na przykład manipulacji kodu bajtowego, które byłyby stosowane podczas kompilowania projektu za pomocą opcji w menu Kompilacja lub po kliknięciu przycisków Kompilacja lub Uruchom.
Funkcje inne niż kompozycyjne są aktualizowane na żywo na urządzeniu lub w emulatorze, a następnie uruchamiana jest pełna rekompozycja. Pełna rekompozycja może nie wywołać zaktualizowanej funkcji. W przypadku funkcji innych niż kompozycyjne musisz wywołać nowo zaktualizowane funkcje lub ponownie uruchomić aplikację.
Edycja na żywo nie jest wznawiana po ponownym uruchomieniu aplikacji. Musisz ponownie uruchomić aplikację.
Edycja na żywo obsługuje tylko procesy z możliwością debugowania.
Edycja na żywo nie obsługuje projektów, które używają niestandardowych wartości
moduleNamew sekcjikotlinOptionsw konfiguracji kompilacji.Edycja na żywo nie działa w przypadku wdrożeń na wiele urządzeń. Oznacza to, że nie możesz wdrożyć aplikacji na jednym urządzeniu, a potem na innym. Edycja na żywo jest aktywna tylko na ostatnim zestawie urządzeń, na których wdrożono aplikację.
Edycja na żywo działa w przypadku wdrożeń na wiele urządzeń (wdrożeń na wiele urządzeń utworzonych za pomocą opcji Wybierz wiele urządzeń w menu docelowego urządzenia). Nie jest jednak oficjalnie obsługiwana i mogą występować problemy. Jeśli napotkasz problemy, zgłoś je.
Funkcje Apply Changes i Apply Code Changes nie są zgodne z edycją na żywo i wymagają ponownego uruchomienia działającej aplikacji.
Edycja na żywo nie obsługuje obecnie projektów Android Automotive.
Najczęstsze pytania dotyczące edycji na żywo
Jaki jest obecny stan edycji na żywo?
Edycja na żywo jest dostępna w Android Studio Giraffe. Aby ją włączyć, kliknij kolejno Plik > Ustawienia > Edytor > Edycja na żywo (Android Studio > Ustawienia > Edytor > Edycja na żywo w macOS).
Kiedy należy używać edycji na żywo?
Używaj edycji na żywo, gdy chcesz szybko zobaczyć wpływ aktualizacji elementów interfejsu (takich jak modyfikatory i animacje) na ogólne wrażenia użytkownika.
Kiedy należy unikać używania edycji na żywo?
Edycja na żywo koncentruje się na zmianach w kodzie związanych z interfejsem i wygodą użytkowania. Nie obsługuje zmian takich jak aktualizacje sygnatury metody, dodawanie nowych metod czy zmiany hierarchii klas. Więcej informacji znajdziesz w sekcji Ograniczenia edycji na żywo.
Kiedy należy używać podglądu Compose?
Używaj podglądu Compose podczas tworzenia poszczególnych elementów kompozycyjnych. Podgląd wizualizuje elementy Compose i automatycznie odświeża się, aby wyświetlić efekt zmian w kodzie. Podgląd umożliwia też wyświetlanie elementów interfejsu w różnych konfiguracjach i stanach, takich jak ciemny motyw, ustawienia regionalne i skala czcionki.
Iteracyjne tworzenie kodu za pomocą Compose
Edycja na żywo i szybkie przeładowanie w Compose Multiplatform to funkcje, które mogą zaoszczędzić Ci czas i zwiększyć produktywność podczas tworzenia za pomocą Compose. Służą one jednak do różnych rodzajów tworzenia:
Edycja na żywo obsługuje iteracyjne tworzenie za pomocą Jetpack Compose w przypadku aplikacji na Androida. Umożliwia aktualizowanie elementów kompozycyjnych w emulatorach i na urządzeniach fizycznych w czasie rzeczywistym. Ta funkcja minimalizuje przełączanie kontekstu między pisaniem a kompilowaniem aplikacji, dzięki czemu możesz dłużej skupić się na pisaniu kodu bez przerw.
Szybkie przeładowanie w Compose służy do tego samego, ale obsługuje aplikacje na komputery tworzone za pomocą Compose Multiplatform. Umożliwia wprowadzanie zmian w kodzie interfejsu w aplikacji Compose Multiplatform i wyświetlanie wyników w czasie rzeczywistym dzięki inteligentnemu przeładowywaniu kodu za każdym razem, gdy zostanie on zmieniony.
Chociaż te 2 funkcje korzystają z wielu technologii w ramach silnika Compose i obsługują wiele podobnych przypadków użycia, nie mają tych samych możliwości ponieważ dotyczą różnych typów tworzenia za pomocą Compose.
Jeśli tworzysz aplikację na Androida, używaj edycji na żywo, aby przyspieszyć proces tworzenia. Jeśli tworzysz aplikację na komputery za pomocą Compose Multiplatform, używaj szybkiego przeładowania w Compose.
Edycja na żywo literałów (wycofana)
Android Studio może aktualizować w czasie rzeczywistym niektóre literały stałe używane w elementach kompozycyjnych w podglądach, emulatorze i na urządzeniu fizycznym. Oto niektóre obsługiwane typy:
IntStringColorDpBoolean
Możesz wyświetlić literały stałe, które wywołują aktualizacje w czasie rzeczywistym bez etapu kompilacji, włączając dekoracje literałów za pomocą wskaźnika interfejsu edycji na żywo literałów:
Zastosuj zmiany
Zastosuj zmiany umożliwia aktualizowanie kodu i zasobów bez konieczności ponownego wdrażania aplikacji w emulatorze lub na urządzeniu fizycznym (z pewnymi ograniczeniami).
Za każdym razem, gdy dodajesz, modyfikujesz lub usuwasz funkcje kompozycyjne, możesz zaktualizować aplikację bez konieczności jej ponownego wdrażania, klikając przycisk Zastosuj zmiany w kodzie:

Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy język JavaScript jest wyłączony.
- Dostosowywanie animacji {:#customize-animations}
- Animacje oparte na wartościach