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
Edycja 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ładaną.
Edycja na żywo koncentruje się na zmianach kodu związanych z interfejsem 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 kompilowania i uruchamiania aplikacji ani funkcji Zastosuj zmiany. Zamiast tego ma ona na celu optymalizację Twojego przepływu 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 Edytuj na żywo tak często, jak to możliwe, aż będziesz musiał wprowadzić zmianę, której nie obsługuje ta funkcja, 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 w projekcie 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.
W oknie Nowy projekt podaj wymagane informacje: nazwę, nazwę pakietu, lokalizację zapisu, minimalną wersję pakietu SDK i język konfiguracji kompilacji.
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 zapisujesz 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.
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).
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 (jak na rysunku 5), co oznacza 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 niższej wersji Compose, edytowanie na żywo jest wyłączone.
[Dotyczy tylko Android Studio Giraffe lub nowszej wersji] Funkcja edycji na żywo wymaga pakietu AGP w wersji 8.1.0-alpha05 lub nowszej. Jeśli Twój projekt korzysta z starszej wersji AGP, funkcja edycji 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 edytowanie treści funkcji, co oznacza, że nie możesz zmienić nazwy funkcji ani sygnatury, dodać ani usunąć funkcji ani zmienić pól niefunkcyjnych.
Edycja na żywo resetuje stan 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ą być mniej wydajne. 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 ulec awarii, gdy edytujesz ją za pomocą funkcji Edycja na żywo. W takim przypadku możesz ponownie wdrożyć aplikację za pomocą przycisku Uruchom .
Funkcja edycji na żywo nie wykonuje żadnych manipulacji bajtowym kodem, które są zdefiniowane w pliku kompilacji projektu. Nie dotyczy to na przykład manipulacji bajtowym kodem, które są 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ę.
Edytowanie 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 edycji na żywo
Jaki jest aktualny stan funkcji edycji na żywo?
Funkcja Live Edit jest dostępna w Android Studio Giraffe. Aby ją 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 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 w sekcji Tworzenie 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 rozmiar czcionki.
Edytowanie literali na żywo (wycofane)
Android Studio może aktualizować w czasie rzeczywistym niektóre stałe literalne używane w komponowalnych w podglądzie, emulatorze i na urządzeniu fizycznym. Oto kilka obsługiwanych typów:
Int
String
Color
Dp
Boolean
Możesz wyświetlać ciągłe literale, które powodują aktualizacje w czasie rzeczywistym bez etapu kompilacji, włączając ozdoby literalne 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