Gemini w Android Studio to Twój asystent kodowania, który przyspiesza proces tworzenia aplikacji, generując kod, podsumowując złożone tematy, znajdując konkretne zasoby i nie tylko. Skuteczna komunikacja jest kluczem do pełnego wykorzystania potencjału Gemini.
Ten przewodnik zawiera strategie konfigurowania środowiska programistycznego i pisania promptów, które generują przydatne i wiarygodne odpowiedzi. W przypadku wielu strategii podaliśmy przykładowe prompty dla różnych zastosowań. Więcej przykładowych promptów znajdziesz w galerii promptów.
Korzystanie z trybu agenta
Tryb agenta Gemini w Android Studio oferuje więcej możliwości niż zwykły czat z Gemini. Możesz podać agentowi ogólny cel, a on podzieli problem na mniejsze części i utworzy plan jego rozwiązania. Agent wywołuje narzędzia, edytuje wiele plików i na bieżąco poprawia błędy. Tryb agenta pomaga wydajniej wykonywać złożone zadania, co przyspiesza cały proces tworzenia.
Unikaj ogólników
Gemini w Android Studio działa najlepiej, gdy instrukcje są jasne i szczegółowe. Jeśli chcesz użyć określonych bibliotek, interfejsów API lub podejść, uwzględnij je w swoim pytaniu lub w pliku AGENTS.md w katalogu głównym projektu, aby zachować je w kolejnych interakcjach. Pomyśl o tym jak o zgłoszeniu błędu: im więcej informacji podasz, tym szybciej i skuteczniej problem zostanie rozwiązany.
Wdrażanie nowych funkcji:
Tak
Nie
Generowanie kodu:
Tak
Napisz funkcję zawieszającą w języku Kotlin, która korzysta z biblioteki Coil do pobierania obrazu z podanego ciągu znaków URL.
Funkcja powinna mieć nazwę fetchImageAsBitmap
. Powinna przyjmować adres URL Context
i String
jako argumenty oraz zwracać wartość Bitmap
dopuszczającą wartość null. Jeśli wystąpi błąd sieci lub dekodowania, funkcja powinna przechwycić wyjątek, zarejestrować go i zwrócić wartość null
.
Nie
Wyjaśnianie pojęcia:
Tak
Tworzę aplikację do odtwarzania muzyki i chcę, aby odtwarzanie było kontynuowane, gdy aplikacja działa w tle.
Jakie mam możliwości utrzymania działania aplikacji, gdy użytkownik wykonuje inne czynności na urządzeniu? Jakie są wymagania dotyczące poziomu interfejsu API i wpływ na żywotność baterii w przypadku każdego z tych podejść?
Nie
Opisz strukturę odpowiedzi
Domyślnie Gemini udziela odpowiedzi w formie konwersacyjnej, w postaci akapitów. Chociaż jest to często przydatne w przypadku wyjaśnień, możesz uzyskać skuteczniejsze i od razu przydatne wyniki, jeśli powiesz mu, jak ma sformatować odpowiedź. Określenie formatu wyjściowego powoduje, że model porządkuje informacje w jasny i przewidywalny sposób, dzięki czemu nie musisz samodzielnie zmieniać ich formatu.
Jeśli chcesz wstawić do aplikacji kod wygenerowany przez Gemini i potrzebujesz go w określonym formacie, aby móc go od razu użyć, podaj Gemini jasne instrukcje dotyczące generowania i formatowania kodu.
Struktura odpowiedzi:
Tak
Utwórz obiekt Room dla profilu użytkownika. Powinien zawierać pola id
, userName
, email
i memberSince
. Pole id
powinno być generowane automatycznie. Pole memberSince
powinno zawierać sygnaturę czasową.
Nie
Jeśli zadajesz pytanie otwarte, poproś o x opcji.
Ograniczanie odpowiedzi:
Tak
Nie
Podział złożonych próśb na mniejsze zadania
W przypadku złożonych żądań wieloetapowych wypróbuj tryb agenta. Jeśli jednak podejście agenta nie spełnia Twoich oczekiwań, może pomóc poprowadzenie Gemini przez serię mniejszych, kolejnych promptów zamiast proszenia o wszystko naraz. Takie podejście daje większą kontrolę i umożliwia weryfikację każdego kroku przed przejściem do następnego.
Stosowanie promptów sekwencyjnych:
Tak
Prompt 1. Model danych
Najpierw utwórz klasę danych Kotlin o nazwie User
. Powinien on mieć 3 właściwości: id
(liczba całkowita), name
(ciąg znaków) i email
(ciąg znaków).
Prompt 2: Warstwa sieci
Teraz utwórz interfejs Retrofit API o nazwie
ApiService
. Wymaga pojedynczej funkcji suspend fun
o nazwie getUsers()
, która zwraca wartość List<User>
.
Prompt 3: The state
management
Next, write a UsersViewModel
that
takes the ApiService
as a dependency. UsersViewModel
powinien udostępniać StateFlow
zapieczętowanej klasy UiState
, która może reprezentować stany Loading, Success(users: List
i Error(message: String)
. Utwórz funkcję w ViewModel
, aby pobrać użytkowników i zaktualizować stan. napisać testy jednostkowe nowych funkcji,
Prompt 4. Warstwa interfejsu
Na koniec napisz funkcję Jetpack Compose o nazwie UserListScreen
, która przyjmuje UiState
jako parametr. Użyj instrukcji when
, aby wyświetlić CircularProgressIndicator
w stanie wczytywania, LazyColumn
z nazwami użytkowników w stanie powodzenia i element Text
z komunikatem o błędzie w stanie błędu. Dodaj testy, które weryfikują nową funkcję.
Nie
ViewModel
, który korzysta z Retrofit i korutyn, repozytorium do obsługi logiki danych, klasę danych User
oraz musi wyświetlać stany ładowania i błędu.Zarządzanie kontekstem
Współpraca z Gemini w Android Studio w dużej mierze polega na dostarczaniu odpowiedniego kontekstu. Aby uzyskać jak najbardziej pomocne odpowiedzi, podaj odpowiednie fragmenty kodu, zawartość plików i informacje o strukturze projektu. Może być konieczne wielokrotne powtarzanie tego procesu, aby znaleźć odpowiednią równowagę: zbyt duża ilość informacji może wprowadzić Gemini w błąd, a zbyt mała nie zapewni wystarczającego kontekstu, aby mógł Ci pomóc. Skorzystaj z dostępnych funkcji, aby przyznać Gemini dostęp do niezbędnego kontekstu:
- Dołącz obrazy, aby przedstawić interfejs użytkownika, który chcesz stworzyć, lub architekturę aplikacji, którą próbujesz zrozumieć.
- Załącz pliki, aby wyróżnić odpowiednie części bazy kodu.
- Używaj
.aiexclude
plików, aby Gemini ignorował określone części bazy kodu. - Używaj plików AGENTS.md, aby przekazywać instrukcje dotyczące konkretnych projektów i udostępniać je zespołowi. W przypadku plików AGENTS.md używaj nagłówków i formatowania Markdown, aby instrukcje były jasne.
- W trybie agenta skonfiguruj serwery MCP, aby rozszerzyć wiedzę i możliwości Gemini o środowisko zewnętrzne.
Prośba o wyjaśnienia
Jeśli nie rozumiesz odpowiedzi Gemini w Android Studio, poproś o wyjaśnienie. To świetny sposób na zdobycie wiedzy i sprawdzenie, czy proponowane rozwiązanie jest odpowiednie w Twoim przypadku. Jeśli odpowiedź nie spełnia Twoich oczekiwań, może to oznaczać, że Gemini się myli. Poproś o wyjaśnienie, aby dać Gemini możliwość poprawienia się.
Ulepszaj instrukcje
Podobnie jak w przypadku współpracy ze współpracownikiem, praca z Gemini w Android Studio czasami wymaga wymiany informacji, aby uzyskać jasność co do zadania i oczekiwanego wyniku. Jeśli pierwsza odpowiedź Gemini jest niewystarczająca, odpowiedz na nią, podając opinię i sugestie dotyczące ulepszeń. Jeśli jego odpowiedź ulegnie poprawie dzięki Twoim sugestiom, uwzględnij je w oryginalnym prompcie, aktualizując wpis w Bibliotece promptów lub pliki AGENTS.md.