Gemini в Android Studio выступает в роли вашего помощника в написании кода, ускоряя процесс разработки за счёт генерации кода, обобщения сложных тем, поиска необходимых ресурсов и многого другого. Эффективное общение — ключ к раскрытию полного потенциала Gemini.
В этом руководстве описаны стратегии настройки среды разработки и написания подсказок, которые дают полезные и надёжные ответы. Для различных стратегий мы привели примеры подсказок для различных вариантов использования. Дополнительные примеры подсказок см. в галерее подсказок .
Использовать режим агента
Режим агента Gemini в Android Studio выходит за рамки простого общения с Gemini. Вы можете поставить агенту общую цель, и он разберёт проблему по частям и создаст план её решения. Агент использует инструменты , редактирует несколько файлов и исправляет ошибки по ходу дела. Режим агента помогает эффективнее справляться со сложными задачами, ускоряя весь процесс разработки.
Будьте конкретны
Gemini в Android Studio работает лучше всего с чёткими и конкретными инструкциями. Если вы хотите использовать определённые библиотеки, API или подходы, укажите их в своём вопросе или в корневом файле AGENTS.md вашего проекта, чтобы они сохранялись при каждом взаимодействии. Это можно сравнить с отправкой отчёта об ошибке: чем больше информации вы предоставите, тем быстрее и эффективнее можно будет решить проблему.
Реализация нового функционала:
Делать
Не
Генерация кода:
Делать
Напишите функцию приостановки Kotlin, которая использует библиотеку Coil для загрузки изображения из заданной строки URL.
Функция должна называться fetchImageAsBitmap
. Она должна принимать в качестве аргументов Context
и String
URL-адрес и возвращать Bitmap
, допускающий значение NULL. В случае сетевой ошибки или ошибки декодирования функция должна перехватывать исключение, регистрировать его и возвращать null
.
Не
Объяснение концепции:
Делать
Я создаю приложение музыкального проигрывателя и мне нужно, чтобы воспроизведение продолжалось, когда приложение находится в фоновом режиме.
Какие есть варианты поддержки работы приложения, пока пользователь выполняет другие действия на устройстве? Каковы требования к уровню API и влияние каждого из подходов на время работы батареи?
Не
Опишите структуру ответа.
По умолчанию Gemini выдаёт ответы в формате диалогового представления, состоящем из абзацев. Хотя это часто полезно для пояснений, вы можете получить более эффективные и готовые к использованию результаты, указав, как структурировать ответ. Указание формата вывода заставляет модель структурировать информацию понятным и предсказуемым образом, экономя время на её самостоятельное форматирование.
Если вы хотите вставить код, сгенерированный Gemini, в свое приложение и вам нужен код в определенном формате, чтобы вы могли использовать его мгновенно, дайте Gemini четкие инструкции по генерации и форматированию кода.
Структурирование ответа:
Делать
Создайте объект Room для профиля пользователя. Он должен содержать поля id
, userName
, email
и memberSince
. Поле id
должно быть сгенерировано автоматически. Поле memberSince
должно содержать временную метку.
Не
Если вы задаете более открытый вопрос, задайте x вариантов ответа.
Ограничение ответа:
Делать
Не
Разбивайте сложные запросы на более мелкие задачи
Для сложных многоэтапных запросов обязательно попробуйте режим агента . Однако, если подход агента не соответствует вашим ожиданиям, может быть полезно провести Gemini через серию небольших последовательных запросов, вместо того чтобы спрашивать обо всём сразу. Такой подход даёт вам больше контроля и позволяет проверять каждый шаг, прежде чем переходить к следующему.
Применение последовательных подсказок:
Делать
Подсказка 1: Модель данных
Сначала создайте класс данных Kotlin с именем User
. Он должен иметь три свойства: id
(целое число), name
(строка) и email
(строка).
Подсказка 2: Сетевой уровень
Теперь создадим интерфейс Retrofit API под названием ApiService
. Ему потребуется одна suspend fun
под названием getUsers()
, которая возвращает List<User>
.
Подсказка 3: Государственное управление
Затем напишите UsersViewModel
, принимающую ApiService
в качестве зависимости. UsersViewModel
должна предоставлять StateFlow
запечатанного класса UiState
, который может представлять Loading, Success(users: List
и состояния Error(message: String)
. Создайте функцию в ViewModel
для получения пользователей и обновления состояния. Напишите модульные тесты для новых функций.
Подсказка 4: Уровень пользовательского интерфейса
Наконец, напишите функцию Jetpack Compose с именем UserListScreen
, которая принимает UiState
в качестве параметра. Используйте оператор when
для отображения CircularProgressIndicator
для состояния загрузки, LazyColumn
с именами пользователей для состояния успешного выполнения и элемента Text
с сообщением об ошибке для состояния ошибки. Добавьте тесты для проверки новой функциональности.
Не
ViewModel
, использующую Retrofit и сопрограммы, репозиторий для обработки логики данных, класс данных User
, а также отображать состояния загрузки и ошибок.Управление контекстом
Важнейшая часть работы с Gemini в Android Studio — предоставление правильного контекста. Предоставьте релевантные фрагменты кода, содержимое файлов и информацию о структуре проекта, чтобы получить максимально полезные ответы. Возможно, вам придётся итерировать, чтобы найти правильный баланс: слишком много информации может сбить Gemini с толку, а слишком мало — не обеспечить достаточного контекста для эффективной работы. Используйте доступные функции, чтобы предоставить Gemini доступ к необходимому контексту:
- Прикрепляйте изображения , чтобы наглядно представить себе пользовательский интерфейс, который вы планируете, или архитектуру приложения, которую вы пытаетесь понять.
- Прикрепите файлы , чтобы выделить важные части кодовой базы.
- Используйте файлы
.aiexclude
, чтобы заставить Gemini игнорировать определенные части кодовой базы. - Используйте файлы AGENTS.md для предоставления инструкций, относящихся к конкретному проекту, и делитесь ими со своей командой. При использовании файлов AGENTS.md используйте заголовки и форматирование Markdown для ясности инструкций.
- При использовании режима агента настройте серверы MCP для расширения знаний и возможностей Gemini во внешней среде.
Попросите объяснений
Если вы не понимаете ответ Gemini в Android Studio, попросите объяснений. Это отличный способ изучить и убедиться, что предложенное решение подходит для вашего случая. Если ответ не соответствует вашим ожиданиям, возможно, Gemini действительно не прав, и просьба о объяснениях даст Gemini возможность исправиться.
Повторяйте ваши инструкции
Как и при работе с коллегой, работа с Gemini в Android Studio иногда требует обмена информацией для прояснения задачи и ожидаемого результата. Если первоначального ответа Gemini недостаточно, отправьте отзыв и предложения по улучшению. Если ответ улучшится благодаря вашим предложениям, включите это предложение в исходный запрос, обновив запись в библиотеке запросов или обновив файлы AGENTS.md .