Jako deweloper aplikacji mobilnych często tworzysz interfejs użytkownika aplikacji krok po kroku, a nie wszystko naraz. Android Studio wykorzystuje to podejście w przypadku Jetpack Compose, udostępniając narzędzia, które nie wymagają pełnej kompilacji do sprawdzania i modyfikowania wartości oraz weryfikowania końcowego wyniku.
Edycja na żywo
Edycja na żywo to funkcja, która umożliwia aktualizowanie komponentów w emulatorach i na urządzeniach fizycznych w czasie rzeczywistym. Ta funkcja minimalizuje przełączanie kontekstu między pisaniem a tworzeniem aplikacji, dzięki czemu możesz dłużej skupiać się na pisaniu kodu bez przerw.
Edycja na żywo ma 3 tryby:
- Ręcznie: zmiany w kodzie są stosowane, gdy zostaną ręcznie przesłane za pomocą kombinacji klawiszy Ctrl+' (Command+' w systemie macOS).
- Ręczne zapisywanie: zmiany w kodzie są stosowane, gdy zostaną ręcznie zapisane za pomocą skrótu Ctrl+S (Command+S w systemie macOS).
- Automatycznie: zmiany są stosowane na urządzeniu lub emulatorze po zaktualizowaniu funkcji kompozycyjnej.
Edycja na żywo koncentruje się na zmianach kodu związanych z interfejsem użytkownika. 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ń funkcji Live Edit.
Ta funkcja nie zastępuje tworzenia i uruchamiania aplikacji ani stosowania zmian. Został on zaprojektowany tak, aby optymalizować przepływ pracy podczas tworzenia, wdrażania i ulepszania interfejsu Compose.
Sprawdzony sposób postępowania jest następujący:
- Skonfiguruj aplikację, aby można było ją uruchomić.
- Korzystaj z funkcji Live Edit tak często, jak to możliwe, dopóki nie będziesz musiał wprowadzić zmiany, której 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 funkcją Edycja na żywo
Aby rozpocząć, wykonaj te czynności: utwórz pustą aktywność Compose, włącz Edycję na żywo w projekcie i wprowadź zmiany za pomocą Edycji na żywo.
Konfigurowanie nowego projektu
Zanim zaczniesz, upewnij się, że masz zainstalowaną wersję Android Studio Giraffe lub nowszą oraz że poziom API na Twoim urządzeniu fizycznym lub emulatorze 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 Plik > Nowy > Nowy projekt.
Wybierz szablon Empty Compose Activity (Puste działanie tworzenia) dla Phone and Tablet (Telefon i tablet), a następnie kliknij Next (Dalej).
Rysunek 1. Szablony do wyboru. W przypadku edycji na żywo wybierz Empty Compose Activity (Pusta aktywność tworzenia). W oknie Nowy projekt podaj wymagane informacje: nazwę, nazwę pakietu, lokalizację zapisu, minimalny pakiet SDK i język konfiguracji kompilacji.
Rysunek 2. Przykładowe ustawienia projektu. Kliknij Zakończ.
Włączanie edycji na żywo
Aby włączyć edycję na żywo, otwórz ustawienia.
- W systemie Windows lub Linux kliknij Plik > Ustawienia > Edytor > Edycja na żywo.
- Na macOS otwórz Android Studio > Ustawienia > Edytor > Edycja na żywo.
Wybierz opcję Edycja na żywo i tryb, w którym chcesz uruchomić ustawienia.
W trybie ręcznym zmiany w kodzie są przesyłane za każdym razem, gdy naciśniesz Control+' (Command+' w systemie macOS). W trybie ręcznego zapisywania zmiany w kodzie są stosowane za każdym razem, gdy ręcznie zapiszesz zmiany, używając skrótu Ctrl+S (Command+S w systemie macOS). W trybie automatycznym zmiany kodu są stosowane na urządzeniu lub emulatorze w miarę ich wprowadzania.
Rysunek 3. 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 funkcji Edycja na żywo w prawym górnym rogu okna narzędzia Uruchomione urządzenia pojawi się zielona ikona potwierdzenia Aktualne:
Wprowadzanie i sprawdzanie zmian
Gdy w edytorze wprowadzisz obsługiwane zmiany, wirtualne lub fizyczne urządzenie testowe automatycznie się zaktualizuje.
Na przykład zmień istniejącą metodę Greeting
w MainActivity
na tę:
@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 4.

Greeting
.Rozwiązywanie problemów z edycją na żywo
Jeśli nie widzisz zmian na urządzeniu testowym, być może Android Studio nie zaktualizowało ich. Sprawdź, czy wskaźnik edycji na żywo ma wartość Nieaktualne, jak pokazano na rysunku 5. Oznacza to błąd kompilacji. Aby uzyskać informacje o błędzie i sugestie dotyczące jego rozwiązania, kliknij wskaźnik.

Ograniczenia funkcji Edycja na żywo
Poniżej znajdziesz listę aktualnych ograniczeń.
[Dotyczy tylko Androida Studio Giraffe i nowszych wersji] Edytowanie na żywo wymaga Compose Runtime w wersji 1.3.0 lub nowszej. Jeśli Twój projekt korzysta z niższej wersji Compose, funkcja Live Edit jest wyłączona.
[Dotyczy tylko Androida Studio Giraffe i nowszych wersji] Edycja na żywo wymaga AGP 8.1.0-alpha05 lub nowszego. Jeśli Twój projekt korzysta ze starszej wersji AGP, funkcja Live Edit jest wyłączona.
Edycja na żywo wymaga fizycznego urządzenia lub emulatora z interfejsem API na poziomie 30 lub wyższym.
Edycja na żywo obsługuje tylko edytowanie treści funkcji, co oznacza, że nie możesz zmieniać nazwy ani sygnatury funkcji, dodawać ani usuwać funkcji ani zmieniać pól innych niż funkcyjne.
Edycja na żywo resetuje stan aplikacji, gdy po raz pierwszy zmienisz funkcję Compose w pliku. Dzieje się to 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ą funkcji Live Edit mogą mieć niższą wydajność. Uruchom aplikację i użyj czystej wersji, jeśli oceniasz jej wydajność.
Aby debuger działał w przypadku klas zmodyfikowanych za pomocą funkcji Live Edit, musisz przeprowadzić pełne uruchomienie.
Działająca aplikacja może ulec awarii, gdy ją edytujesz za pomocą funkcji Edycja na żywo. W takiej sytuacji możesz ponownie wdrożyć aplikację, klikając przycisk Uruchom
.
Edycja na żywo nie wykonuje żadnych manipulacji kodem bajtowym zdefiniowanych w pliku kompilacji projektu, np. manipulacji kodem bajtowym, które byłyby stosowane podczas kompilowania projektu za pomocą opcji w menu Kompilacja lub po kliknięciu przycisków Kompilacja lub Uruchom.
Funkcje niekomponowalne są aktualizowane na żywo na urządzeniu lub emulatorze i wywoływane jest pełne ponowne komponowanie. Pełna rekompozycja może nie wywołać zaktualizowanej funkcji. W przypadku funkcji, które nie są funkcjami kompozycyjnymi, 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, które można debugować.
Edycja na żywo nie obsługuje projektów, które używają wartości niestandardowych dla
moduleName
w sekcjikotlinOptions
w konfiguracji kompilacji.Edycja na żywo nie działa w przypadku wdrożeń wielokrotnych. 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 wielu urządzeniach (wdrożeń na wielu urządzeniach utworzonych za pomocą opcji Wybierz wiele urządzeń w menu docelowego urządzenia). Nie jest on jednak oficjalnie obsługiwany i mogą występować problemy. Jeśli napotkasz problemy, zgłoś je.
Zastosuj zmiany/Zastosuj zmiany w kodzie nie są zgodne z funkcją edycji na żywo i wymagają ponownego uruchomienia aplikacji.
Edycja na żywo nie obsługuje obecnie projektów Androida Automotive.
Najczęstsze pytania dotyczące funkcji Live Edit
Jaki jest obecny stan funkcji Edycja na żywo?
Edycja na żywo jest dostępna w Android Studio Giraffe. Aby włączyć tę funkcję, otwórz kolejno Plik > Ustawienia > Edytor > Edycja na żywo (Android Studio > Ustawienia > Edytor > Edycja na żywo w systemie macOS).
Kiedy należy używać edycji na żywo?
Użyj opcji Edycja na żywo, aby szybko sprawdzić, jak aktualizacje elementów UX (takie jak modyfikatory i animacje) wpływają na ogólne wrażenia użytkowników aplikacji.
Kiedy należy unikać korzystania z funkcji edycji na żywo?
Edycja na żywo koncentruje się na zmianach kodu związanych z interfejsem użytkownika. Nie obsługuje zmian takich jak aktualizacje sygnatury metody, dodawanie nowych metod czy zmiany w hierarchii klas. Więcej informacji znajdziesz w sekcji Ograniczenia funkcji Live Edit.
Kiedy należy używać podglądu kompozycji?
Podglądu kompozycji używaj podczas tworzenia poszczególnych funkcji kompozycyjnych. Podgląd wyświetla elementy Compose i automatycznie odświeża się, aby pokazać 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ładowywanie w Compose Multiplatform to funkcje, które mogą zaoszczędzić Ci czas i zwiększyć produktywność podczas tworzenia aplikacji za pomocą Compose. Służą jednak różnym rodzajom rozwoju:
Edycja na żywo obsługuje iteracyjne tworzenie aplikacji na Androida za pomocą Jetpack Compose. Umożliwia aktualizowanie funkcji kompozycyjnych w emulatorach i na urządzeniach fizycznych w czasie rzeczywistym. Ta funkcja minimalizuje przełączanie kontekstu między pisaniem a tworzeniem aplikacji, dzięki czemu możesz dłużej skupiać się na pisaniu kodu bez przerw.
Compose Hot Reload spełnia to samo zadanie, ale obsługuje aplikacje na komputery zbudowane za pomocą Compose Multiplatform. Umożliwia wprowadzanie zmian w kodzie interfejsu aplikacji Compose Multiplatform i wyświetlanie wyników w czasie rzeczywistym dzięki inteligentnemu ponownemu wczytywaniu kodu po każdej zmianie.
Chociaż te 2 funkcje korzystają z wielu technologii w ramach silnika Compose i obsługują wiele podobnych przypadków użycia, nie mają takich samych możliwości, ponieważ dotyczą różnych typów tworzenia aplikacji w Compose.
Jeśli tworzysz aplikację na Androida, użyj funkcji Live Edit, aby przyspieszyć proces programowania. Jeśli tworzysz aplikację na komputery za pomocą Compose Multiplatform, użyj funkcji Hot Reload w Compose.
Edytowanie na żywo literałów (wycofane)
Android Studio może w czasie rzeczywistym aktualizować niektóre stałe literały używane w funkcjach kompozycyjnych w podglądach, emulatorze i na urządzeniu fizycznym. Oto niektóre z obsługiwanych typów:
Int
String
Color
Dp
Boolean
Stałe literały, które wywołują aktualizacje w czasie rzeczywistym bez etapu kompilacji, możesz wyświetlić, włączając dekoracje literałów za pomocą wskaźnika interfejsu Edycja literałów na żywo:
Apply Changes
Zastosuj zmiany umożliwia aktualizowanie kodu i zasobów bez konieczności ponownego wdrażania aplikacji na emulatorze lub urządzeniu fizycznym (z pewnymi ograniczeniami).
Za każdym razem, gdy dodasz, zmodyfikujesz lub usuniesz funkcje kompozycyjne, możesz zaktualizować aplikację bez konieczności ponownego wdrażania. Wystarczy, że klikniesz przycisk Zastosuj zmiany w kodzie:
Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy JavaScript jest wyłączony.
- Dostosowywanie animacji {:#customize-animations}
- Animacje oparte na wartościach