Jako deweloper aplikacji mobilnych często tworzysz interfejs użytkownika aplikacji krok po kroku, a nie od razu od razu. Android Studio stosuje to podejście w Jetpack Compose, udostępniając narzędzia, które nie wymagają pełnego kompilowania, aby sprawdzić, zmodyfikować wartości i zweryfikować wynik końcowy.
Edycja na żywo
Edytowanie na żywo to funkcja, która umożliwia aktualizowanie komponentów w emulatorze i na fizycznych urządzeniach 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 zakłóceń.
Funkcja Live Edit ma 3 tryby:
- Ręcznie: zmiany kodu są stosowane, gdy są ręcznie przesyłane za pomocą Control+' (Command+' w systemie macOS).
- Ręcznie podczas zapisywania: zmiany kodu są stosowane, gdy są zapisywane ręcznie za pomocą Control + S (Command + S w systemie macOS).
- Automatyczne: zmiany są stosowane na urządzeniu lub w emulatorze, gdy aktualizujesz funkcję składającą się z komponentów.
Edycja na żywo koncentruje się na zmianach kodu związanych z interfejsem użytkownika i doświadczeniem użytkownika. Funkcja edycji 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ń transmisji na żywo.
Ta funkcja nie zastępuje tworzenia i uruchamiania aplikacji ani funkcji Zastosuj zmiany. Jest ona zaprojektowana tak, aby optymalizować Twój przepływ pracy podczas tworzenia, wdrażania i ulepszania interfejsu Compose.
Proces oparty na sprawdzonych metodach:
- Skonfiguruj aplikację, aby można było ją uruchomić.
- Używaj funkcji Live Edit tak często, jak to możliwe, aż będziesz musiał wprowadzić zmianę, której nie obsługuje Live Edit, np. dodać nowe metody podczas działania aplikacji.
- Po wprowadzeniu nieobsługiwanych zmian 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ść tworzenia, włączyć edycję na żywo dla projektu i wprowadzić 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 fizycznym urządzeniu lub w 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 Pustka aktywność tworzenia dla telefonu i tabletu, a potem kliknij Dalej.
Rysunek 1. Szablony do wyboru. W przypadku edycji na żywo wybierz Pusta aktywność tworzenia. W oknie Nowy projekt podaj wymagane informacje: nazwę, nazwę pakietu, lokalizację zapisu, minimalną wersję pakietu SDK i język konfiguracji kompilacji.
Rysunek 2. Przykładowe ustawienia projektu Kliknij Zakończ.
Włączanie edycji na żywo
Przejdź do ustawień, aby włączyć edycję na żywo.
- W systemie Windows lub Linux kliknij kolejno Plik > Ustawienia > Edytor > Edytowanie na żywo.
- W systemie macOS otwórz Android Studio > Ustawienia > Edytor > Edytowanie na żywo.
W ustawieniach wybierz opcję Edycja na żywo i tryb, który chcesz uruchomić.
W trybie ręcznym zmiany kodu są przesyłane za każdym razem, gdy naciśniesz Control+' (Command+' w systemie macOS). W trybie ręcznym podczas zapisywania zmiany w kodzie są stosowane za każdym razem, gdy zapiszesz ręcznie, używając skrótu Ctrl + S (Command + S w systemie macOS). W trybie automatycznym zmiany kodu są wprowadzane na urządzeniu lub w 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
.
Gdy włączysz edycję na żywo, w prawym górnym rogu okna narzędzia Urządzenia w trakcie pracy pojawi się zielona ikona potwierdzenia Aktualny:
Wprowadzanie i sprawdzanie zmian
Gdy wprowadzasz obsługiwane zmiany w edytorze, wirtualne lub fizyczne urządzenie testowe aktualizuje się automatycznie.
Na przykład w pliku MainActivity
zmień dotychczasową metodę Greeting
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 są natychmiast widoczne na urządzeniu testowym (patrz rys. 4).

Greeting
dotyczące edycji na żywo.Rozwiązywanie problemów z edycją na żywo
Jeśli nie widzisz swoich zmian na urządzeniu testowym, może to oznaczać, że Android Studio nie zaktualizowało ich. Sprawdź, czy wskaźnik edycji na żywo wyświetla komunikat Out Of Date (z ang. „Nieaktualny”), jak 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 edycji na żywo
Poniżej znajdziesz listę obecnych 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 korzysta z starszej wersji Compose, edytowanie na żywo jest wyłączone.
[Dotyczy tylko Android Studio Giraffe lub nowszej wersji] Funkcja edycji na żywo wymaga wersji AGP 8.1.0-alpha05 lub nowszej. Jeśli Twój projekt korzysta z starszej wersji AGP, funkcja edytowania na żywo jest wyłączona.
Edytowanie na żywo wymaga fizycznego urządzenia lub emulatora z interfejsem API na poziomie 30 lub wyższym.
Edytowanie na żywo obsługuje tylko edycję treści funkcji, co oznacza, że nie możesz zmienić nazwy funkcji ani sygnatury, dodać ani usunąć funkcji ani zmienić pól niefunkcjonalnych.
Edycja na żywo powoduje zresetowanie stanu aplikacji przy pierwszej zmianie funkcji tworzenia w pliku. Dzieje się tak tylko po pierwszej zmianie kodu – stan aplikacji nie jest resetowany przez kolejne zmiany kodu funkcji Compose w tym pliku.
Zajęcia zmodyfikowane za pomocą funkcji edycji na żywo mogą mieć nieco niższą wydajność. Uruchom aplikację i użyj czystej wersji, jeśli oceniasz jej skuteczność.
Aby debuger mógł działać na klasach zmodyfikowanych za pomocą funkcji Edycja na żywo, musisz przeprowadzić pełne uruchomienie.
Uruchomiona aplikacja może się zawiesić, gdy edytujesz ją za pomocą funkcji Edycja na żywo. W takim przypadku możesz ponownie wdrożyć aplikację za pomocą przycisku 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 Kompiluj lub po kliknięciu przycisków Kompiluj lub Uruchom.
Funkcje niezłożone są aktualizowane na żywo na urządzeniu lub w emulatorze, a także uruchamia się pełne ponowne skompilowanie. Pełna rekompozycja może nie wywołać zaktualizowanej funkcji. W przypadku funkcji niezłożonych musisz uruchomić nowo zaktualizowane funkcje lub ponownie uruchomić aplikację.
Edytowanie na żywo nie wznawia się 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 w konfiguracji kompilacji w sekcji
kotlinOptions
używają niestandardowych wartości dla parametrumoduleName
.Edycja na żywo nie działa w przypadku wdrożeń z wieloma wdrożeniami. Oznacza to, że nie możesz wdrożyć aplikacji na jednym urządzeniu, a potem na innym. Edytowanie na żywo jest aktywne tylko na ostatnim zestawie urządzeń, na które została wdrożona aplikacja.
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 urządzeń docelowych). Nie jest ona jednak oficjalnie obsługiwana i może powodować problemy. Jeśli napotkasz problemy, zgłoś je.
Zmiany w aplikacji i zmiany kodu nie są zgodne z edycją na żywo i wymagają ponownego uruchomienia aplikacji.
Edycja na żywo nie obsługuje obecnie projektów dotyczących Androida Automotive.
Najczęstsze pytania dotyczące funkcji edytowania na żywo
Jaki jest aktualny stan funkcji edycji na żywo?
Funkcja Live Edit jest dostępna w Android Studio Giraffe. Aby go włączyć, wybierz Plik > Ustawienia > Edytor > Edytowanie na żywo (Android Studio > Ustawienia > Edytor > Edytowanie na żywo na komputerze Mac).
Kiedy warto używać funkcji Live Edit?
Użyj funkcji edycji na żywo, gdy chcesz szybko sprawdzić wpływ zmian elementów UX (np. aktualizacji modyfikatorów i animacji) na ogólne wrażenia z aplikacji.
Kiedy nie należy używać funkcji edycji na żywo?
Edycja na żywo koncentruje się na zmianach kodu związanych z interfejsem użytkownika i doświadczeniem użytkownika. Nie obsługuje ona zmian takich jak aktualizacje sygnatury metody, dodawanie nowych metod czy zmiany hierarchii klas. Więcej informacji znajdziesz w artykule Ograniczenia dotyczące transmisji na żywo.
Kiedy należy używać podglądu w edytorze?
Korzystaj z podglądu kompozytora, gdy tworzysz pojedyncze komponenty. Podgląd wizualizuje elementy Compose i automatycznie odświeża, 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, języki i rozmiar czcionki.
Iteracyjne tworzenie kodu za pomocą Compose
Funkcja edycji na żywo i gorącego przeładowania w Compose Multiplatform to funkcje, które mogą zaoszczędzić Ci czas i zwiększyć produktywność podczas tworzenia aplikacji za pomocą Compose. Jednak te narzędzia służą do zaspokajania potrzeb związanych z różnymi typami rozwoju:
Edytowanie na żywo obsługuje iteracyjne tworzenie aplikacji za pomocą Jetpack Compose w przypadku aplikacji na Androida. Umożliwia aktualizowanie elementów w czasie rzeczywistym na emulatorach i na fizycznych urządzeniach. 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.
Funkcja szybkiego przeładowania w Compose spełnia tę samą potrzebę, ale obsługuje aplikacje na komputery utworzone za pomocą Compose Multiplatform. Dzięki temu możesz wprowadzać zmiany w kodzie interfejsu w aplikacji Compose Multiplatform i oglądać wyniki w czasie rzeczywistym, inteligentnie przeładowując kod za każdym razem, gdy zostanie zmieniony.
Chociaż te 2 funkcje korzystają z wielu technologii w ramach mechanizmu Compose i obsługują wiele podobnych przypadków użycia, nie mają tych samych możliwości, ponieważ dotyczą różnych typów rozwoju Compose.
Jeśli tworzysz aplikację na Androida, możesz przyspieszyć proces tworzenia, korzystając z edycji na żywo. Jeśli tworzysz aplikację na komputery przy użyciu Compose Multiplatform, użyj funkcji szybkiego przeładowania Compose.
Edytowanie dosłowne na żywo (wycofane)
Android Studio może aktualizować w czasie rzeczywistym niektóre stałe literale używane w komponentach w podglądzie, emulatorze i na urządzeniu fizycznym. Oto kilka obsługiwanych typów:
Int
String
Color
Dp
Boolean
Możesz wyświetlać stałe literale, które powodują aktualizacje w czasie rzeczywistym bez etapu kompilacji, włączając ozdobienia literali za pomocą wskaźnika interfejsu edycji 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).
Po dodaniu, zmodyfikowaniu lub usunięciu funkcji kompozycyjnych możesz zaktualizować aplikację bez konieczności jej ponownego wdrożenia. Aby to zrobić, kliknij przycisk Zastosuj zmiany kodu:
Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy obsługa JavaScript jest wyłączona
- Dostosowywanie animacji {:#customize-animations}
- Animacje na podstawie wartości
- Dodaj parametry