Gemini in Android Studio funge da collaboratore di programmazione, accelerando il tuo flusso di lavoro di sviluppo generando codice, riepilogando argomenti complessi, trovando risorse specifiche e altro ancora. Una comunicazione efficace è la chiave per sfruttare appieno il potenziale di Gemini.
Questa guida illustra le strategie per configurare l'ambiente di sviluppo e scrivere prompt che generino risposte utili e affidabili. Per più strategie, abbiamo fornito prompt di esempio per diversi casi d'uso. Per altri esempi di prompt, consulta la galleria dei prompt.
Utilizzare la modalità Agent
La modalità Agente di Gemini in Android Studio va oltre ciò che puoi sperimentare semplicemente chattando con Gemini. Puoi fornire all'agente un obiettivo di alto livello e l'agente suddivide il problema e crea un piano per risolverlo. L'agente richiama strumenti, modifica più file e corregge gli errori man mano che procede. La modalità Agente ti aiuta a gestire attività complesse in modo più efficiente, velocizzando l'intero processo di sviluppo.
Fornisci informazioni specifiche
Gemini in Android Studio funziona al meglio con istruzioni chiare e specifiche. Se ci sono determinate librerie, API o approcci che vorresti utilizzare, includili nella tua domanda o nel file AGENTS.md principale del progetto per mantenerli durante le interazioni. Consideralo come la segnalazione di un bug: più informazioni fornisci, più rapidamente ed efficacemente il problema può essere risolto.
Implementazione di nuove funzionalità:
Cosa fare
Cosa non fare
Generazione del codice:
Cosa fare
Scrivi una funzione di sospensione Kotlin che utilizza la libreria Coil per scaricare un'immagine da una determinata stringa URL.
La funzione deve
essere denominata fetchImageAsBitmap
. Deve accettare un
Context
e un URL String
come argomenti e restituire
un Bitmap
nullable. Se si verifica un errore di rete o di decodifica,
deve rilevare l'eccezione, registrarla e restituire
null
.
Cosa non fare
Spiegare un concetto:
Cosa fare
Sto creando un'app di riproduzione musicale e devo continuare la riproduzione quando l'app è in background.
Quali sono le mie opzioni per mantenere la mia app in esecuzione mentre l'utente fa altre cose sul dispositivo? Quali sono i requisiti a livello di API e le implicazioni per la durata della batteria per ciascun approccio?
Cosa non fare
Descrivere la struttura della risposta
Per impostazione predefinita, Gemini fornisce risposte in un formato conversazionale basato su paragrafi. Sebbene questo approccio sia spesso utile per le spiegazioni, puoi ottenere risultati più efficaci e immediatamente utilizzabili indicando a Gemini come strutturare la risposta. La specifica del formato di output indica al modello di organizzare le informazioni in un modo chiaro e prevedibile, risparmiando il tempo necessario per riformattarle manualmente.
Se vuoi inserire il codice generato da Gemini nella tua app e ti serve in un determinato formato per poterlo utilizzare immediatamente, fornisci a Gemini istruzioni chiare sulla generazione e la formattazione del codice.
Strutturare la risposta:
Cosa fare
Crea un'entità Stanza per un profilo utente. Deve contenere
i campi id
, userName
, email
e
memberSince
. Il campo id
deve essere
generato automaticamente. Il campo memberSince
deve rappresentare
un timestamp.
Cosa non fare
Se poni una domanda più aperta, chiedi x opzioni.
Limitare la risposta:
Cosa fare
Cosa non fare
Suddividi le richieste complesse in attività più piccole
Per richieste complesse in più passaggi, assicurati di provare la modalità Agente. Tuttavia, se l'approccio dell'agente non è quello che ti aspetti, potrebbe essere utile guidare Gemini attraverso una serie di prompt più piccoli e sequenziali, anziché chiedere tutto in una volta. Questo approccio ti offre un maggiore controllo e ti consente di verificare ogni passaggio prima di procedere al successivo.
Applicare prompt sequenziali:
Cosa fare
Prompt 1: il modello di dati
Innanzitutto, crea
una classe di dati Kotlin denominata User
. Deve avere tre
proprietà: id
(un numero intero), name
(una stringa) e
email
(una stringa).
Prompt 2: il livello
di rete
Ora crea un'interfaccia API Retrofit chiamata
ApiService
. Ha bisogno di un singolo suspend fun
chiamato
getUsers()
che restituisce un
List<User>
.
Prompt 3: The state
management
Next, write a UsersViewModel
that
takes the ApiService
as a dependency. UsersViewModel
deve esporre un
StateFlow
di una classe UiState
sigillata che può
rappresentare gli stati Loading, Success(users: List
e
Error(message: String)
. Crea una funzione in
ViewModel
per recuperare gli utenti e aggiornare lo stato. Scrivere test delle unità per
le nuove funzionalità
Prompt 4: Il livello
UI
Infine, scrivi una funzione Jetpack Compose denominata
UserListScreen
che accetta UiState
come
parametro. Utilizza un'istruzione when
per visualizzare un
CircularProgressIndicator
per lo stato di caricamento, un
LazyColumn
di nomi utente per lo stato di successo e un
elemento Text
con il messaggio di errore per lo stato di errore. Aggiungi
test che verifichino la nuova funzionalità.
Cosa non fare
ViewModel
che utilizza Retrofit e le coroutine, un repository per gestire la logica dei dati,
una classe di dati User
e deve mostrare gli stati di caricamento ed errore.Gestisci contesto
Una parte importante dell'utilizzo di Gemini in Android Studio è fornire il contesto giusto. Fornisci snippet di codice, contenuti dei file e informazioni sulla struttura del progetto pertinenti per ottenere le risposte più utili. Potresti dover fare più tentativi per trovare il giusto equilibrio: troppe informazioni potrebbero fuorviare Gemini, mentre troppo poche non forniranno il contesto sufficiente per aiutarlo. Utilizza le funzionalità disponibili per fornire a Gemini l'accesso al contesto necessario:
- Allega immagini per fornire una rappresentazione visiva della UI che stai immaginando o dell'architettura dell'app che stai cercando di comprendere.
- Allega file per evidenziare le parti pertinenti della base di codice.
- Utilizza i file
.aiexclude
per fare in modo che Gemini ignori determinate parti del codice. - Utilizza i file AGENTS.md per fornire istruzioni specifiche per il progetto e condividerle con il tuo team. Quando utilizzi i file AGENTS.md, utilizza le intestazioni e la formattazione Markdown per rendere chiare le istruzioni.
- Quando utilizzi la modalità Agente, configura i server MCP per estendere le conoscenze e le funzionalità di Gemini con l'ambiente esterno.
Chiedere spiegazioni
Se non capisci la risposta di Gemini in Android Studio, chiedi una spiegazione. Questo è un ottimo modo per imparare e verificare che la soluzione proposta sia adatta al tuo caso d'uso. Se la risposta non è quella che ti aspettavi, potrebbe essere che Gemini abbia commesso un errore e chiedere una spiegazione gli darà l'opportunità di correggersi.
Migliorare le istruzioni
Come quando lavori con un collega, lavorare con Gemini in Android Studio a volte richiede un po' di comunicazione avanti e indietro per chiarire l'attività e il risultato previsto. Se la risposta iniziale di Gemini non è sufficiente, rispondi con feedback e suggerimenti su come migliorare. Se la risposta migliora in base ai tuoi suggerimenti, incorporali nel prompt originale aggiornando la voce nella libreria dei prompt o aggiornando i file AGENTS.md.