最佳做法

Android Studio 中的 Gemini 是您的程式設計協作者,可生成程式碼、歸納複雜主題、尋找特定資源等,加快開發工作流程。有效溝通是充分發揮 Gemini 潛能的關鍵。

本指南列出設定開發環境的策略,以及編寫提示的策略,協助您取得實用且可靠的回覆。針對多種策略,我們提供不同用途的範例提示。如需更多提示範例,請參閱提示庫

使用代理模式

Android Studio 的 代理模式中的 Gemini 不僅能與你對話,還能提供更多功能。您可以為代理程式設定高階目標,代理程式會分解問題並制定解決方案。代理程式會呼叫工具、編輯多個檔案,並修正錯誤。代理程式模式可協助您更有效率地處理複雜工作,加快整個開發流程。

清楚明確

Gemini 版 Android Studio 最適合搭配清楚明確的指令使用。如有想使用的特定程式庫、API 或方法,請在問題中或專案的根 AGENTS.md 檔案中加入這些項目,以便在互動期間保留這些項目。這就像是提交錯誤報告:您提供的資訊越多,問題就能越快獲得解決。

導入新功能:

如何使用 CameraX 在應用程式中新增相機支援功能?請務必納入使用程式庫所需的任何依附元件和權限。
如何為應用程式新增攝影機支援功能?

生成程式碼:

編寫 Kotlin 暫停函式,使用 Coil 程式庫從指定網址字串下載圖片。

函式應命名為 fetchImageAsBitmap。這個函式應以 ContextString 網址做為引數,並傳回可為空值的 Bitmap。如有任何網路或解碼錯誤,應會擷取例外狀況、記錄錯誤,並傳回 null

編寫函式來下載圖片。

說明概念:

我正在建構音樂播放器應用程式,需要在應用程式處於背景時繼續播放。

使用者在裝置上執行其他作業時,我有哪些方法可以讓應用程式保持運作?每種做法的 API 級別需求和電池續航力影響為何?

說明 Android 服務。

說明答案的結構

根據預設,Gemini 會以對話形式提供答案,並以段落呈現。雖然這項功能通常有助於說明,但只要告訴 AI 回覆的結構,就能獲得更有效率且可立即使用的結果。指定輸出格式可引導模型以清楚且可預測的方式整理資訊,節省您自行重新格式化的時間。

如要將 Gemini 生成的程式碼插入應用程式,並需要特定格式的程式碼以便立即使用,請清楚指示 Gemini 生成程式碼並設定格式。

回覆結構:

為使用者設定檔建立 Room 實體。其中應包含 iduserNameemailmemberSince 欄位。id 欄位應由系統自動產生。memberSince 欄位應代表時間戳記。

為使用者設定檔建立 Room 實體。

如果問題較為開放,請要求 x 個選項。

限制回覆:

有哪些工具可協助提升應用程式效能? 請列出前三名。
有哪些工具可協助提升應用程式效能?

將複雜要求拆分成較小的任務

如果是複雜的多步驟要求,請務必試試代理程式模式。不過,如果代理程式的處理方式不符合預期,建議您透過一系列較小的連續提示引導 Gemini,而不是一次要求所有內容。這個方法可讓您進一步掌控,並在繼續下一個步驟前驗證每個步驟。

套用連續提示:

提示 1:資料模型
首先,建立名為 User 的 Kotlin 資料類別。其中應有三個屬性:id (Int)、name (String) 和 email (String)。

提示 2:網路層
現在,請建立名為 ApiService 的 Retrofit API 介面。這需要名為 getUsers() 的單一 suspend fun,該 suspend fun 會傳回 List<User>

提示 3:狀態管理
接下來,請編寫以 ApiService 為依附元件的 UsersViewModelUsersViewModel 應公開封閉 UiState 類別的 StateFlow,該類別可代表 Loading, Success(users: List)Error(message: String) 狀態。在 ViewModel 中建立函式,以擷取使用者並更新狀態。為新功能編寫單元測試

提示 4:UI 層
最後,請編寫名為 UserListScreen 的 Jetpack Compose 函式,並將 UiState 做為參數。使用 when 陳述式顯示載入狀態的 CircularProgressIndicator、成功狀態的使用者名稱 LazyColumn,以及錯誤狀態的 Text 元素和錯誤訊息。新增測試,確認新功能是否正常運作。

建立 Jetpack Compose 畫面,從 JSON API 擷取使用者清單,並顯示在清單中。它應具備使用 Retrofit 和協同程式的 ViewModel、處理資料邏輯的存放區、User 資料類別,並顯示載入和錯誤狀態。

管理背景資訊

使用 Gemini 版 Android Studio 時,提供正確的脈絡是重要環節。提供相關程式碼片段、檔案內容和專案結構資訊,取得最實用的回覆。您可能需要反覆嘗試,才能找到適當的平衡點:資訊過多可能會誤導 Gemini,資訊過少則無法提供足夠的背景資訊,讓 Gemini 協助您。使用可用功能授予 Gemini 存取必要背景資訊的權限:

  • 附上圖片,提供您設想的 UI 或想瞭解的應用程式架構。
  • 附加檔案,醒目顯示程式碼集中的相關部分。
  • 使用 .aiexclude 檔案,讓 Gemini 忽略程式碼集中的特定部分。
  • 使用 AGENTS.md 檔案提供專案專屬的指示,並與團隊共用。使用 AGENTS.md 檔案時,請使用 Markdown 標頭和格式,清楚說明指令。
  • 使用代理模式時,請設定 MCP 伺服器,透過外部環境擴充 Gemini 的知識和功能。

要求說明

如果看不懂 Android Studio 中 Gemini 的回覆,請要求說明。這很適合用來瞭解及驗證所提議的解決方案是否適合您的用途。如果回覆內容與預期不符,可能是 Gemini 有誤,要求說明可讓 Gemini 自行修正。

反覆調整指令

與同事合作時,有時需要來回溝通,才能清楚瞭解工作和預期結果。在 Android Studio 中使用 Gemini 時也是如此。如果 Gemini 的初步回覆不夠完善,請回覆並提供意見和改善建議。如果根據建議改善了回覆內容,請更新提示庫中的項目或 AGENTS.md 檔案,將建議納入原始提示。