Gemini в Android Studio выступает в роли вашего помощника в разработке кода, ускоряя рабочий процесс за счет генерации кода, обобщения сложных тем, поиска необходимых ресурсов и многого другого. Эффективная коммуникация — ключ к раскрытию всего потенциала Gemini.
В этом руководстве описаны стратегии настройки среды разработки и написания запросов, которые позволяют получать полезные и надежные ответы. Для различных стратегий мы привели примеры запросов для разных сценариев использования. Больше примеров запросов вы найдете в галерее запросов .
Используйте режим агента
В режиме агента в Android Studio возможности Gemini выходят за рамки простого общения с ним. Вы можете задать агенту общую цель, а он разобьет проблему на части и создаст план ее решения. Агент использует инструменты , редактирует несколько файлов и исправляет ошибки по ходу работы. Режим агента помогает более эффективно справляться со сложными задачами, ускоряя весь процесс разработки.
Будьте конкретны.
Gemini в Android Studio работает лучше всего с четкими и конкретными инструкциями. Если вы хотите использовать определенные библиотеки, API или подходы, укажите их в своем вопросе — или добавьте их в корневой файл AGENTS.md вашего проекта, чтобы они сохранялись при взаимодействии с другими приложениями. Рассматривайте это как отправку отчета об ошибке: чем больше информации вы предоставите, тем быстрее и эффективнее будет решена проблема.
Внедрение нового функционала:
Делать
Не
Генерация кода:
Делать
Напишите функцию `suspend` на Kotlin, которая использует библиотеку Coil для загрузки изображения по заданному URL-адресу.
Функция должна называться fetchImageAsBitmap . Она должна принимать в качестве аргументов Context и String URL и возвращать Bitmap допускающий значение null. В случае возникновения сетевой ошибки или ошибки декодирования, функция должна перехватывать исключение, регистрировать его и возвращать null .
Не
Объяснение понятия:
Делать
Я разрабатываю приложение для воспроизведения музыки и мне нужно, чтобы воспроизведение продолжалось, когда приложение находится в фоновом режиме.
Какие у меня есть варианты для обеспечения работы приложения, пока пользователь занимается другими делами на устройстве? Каковы требования к уровню API и каковы последствия для времени автономной работы каждого подхода?
Не
Опишите структуру ответа.
По умолчанию Gemini предоставляет ответы в разговорном формате, состоящем из абзацев. Хотя это часто полезно для объяснений, вы можете получить более эффективные и сразу применимые результаты, указав, как структурировать ответ. Указание формата вывода заставляет модель организовывать информацию четким и предсказуемым образом, экономя ваше время на самостоятельное переформатирование.
Если вы хотите вставить в свое приложение код, сгенерированный Gemini, и вам нужен код в определенном формате, чтобы вы могли использовать его мгновенно, дайте Gemini четкие инструкции по генерации и форматированию кода.
Структурирование ответа:
Делать
Создайте сущность «Комната» для профиля пользователя. Она должна содержать поля id , userName , email и memberSince . Поле id должно генерироваться автоматически. Поле memberSince должно представлять собой метку времени.
Не
Если вы задаёте более открытый вопрос, предложите несколько вариантов ответа.
Ограничение ответа:
Делать
Не
Разбейте сложные запросы на более мелкие задачи.
Для сложных, многоэтапных запросов обязательно попробуйте режим агента . Однако, если подход агента не соответствует вашим ожиданиям, возможно, вам поможет направлять Gemini через серию небольших, последовательных запросов, а не запрашивать все сразу. Такой подход дает вам больше контроля и позволяет проверять каждый шаг, прежде чем переходить к следующему.
Применение последовательных подсказок:
Делать
Задание 1: Модель данных
Сначала создайте класс данных Kotlin с именем User . Он должен иметь три свойства: id (целое число), name (строка) и email (строка).
Задание 2: Сетевой уровень
Теперь создайте интерфейс API Retrofit под названием 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 .