Обновлено: 21.11.2024
Подключаемые модули расширяют основные функции IntelliJ IDEA. Например, установите плагины, чтобы получить следующие возможности:
Интеграция с системами контроля версий, системами отслеживания ошибок, серверами управления сборками и другими инструментами.
Поддержка помощи при написании кода для различных языков и сред.
Сочетания клавиш, предварительный просмотр в реальном времени, наблюдатели за файлами и т. д.
Упражнения по программированию, которые помогут вам выучить новый язык программирования.
Открыть настройки плагина
Нажмите Ctrl+Alt+S, чтобы открыть настройки IDE, и выберите Плагины.
Используйте вкладку Marketplace для поиска и установки подключаемых модулей из репозитория подключаемых модулей JetBrains или из пользовательского хранилища подключаемых модулей.
Используйте вкладку «Установлено», чтобы просматривать связанные и установленные подключаемые модули, включать, отключать, обновлять или удалять их. Отключение ненужных плагинов может повысить производительность.
Большинство подключаемых модулей можно использовать с любым продуктом JetBrains. Некоторые из них ограничены только коммерческими продуктами, для других требуется отдельная лицензия.
Если подключаемый модуль зависит от другого подключаемого модуля, IntelliJ IDEA уведомит вас об этих зависимостях. Если ваш проект зависит от определенных плагинов, добавьте их в список необходимых плагинов.
Если существующие подключаемые модули не обеспечивают некоторых необходимых вам функций, вы можете создать собственный подключаемый модуль для IntelliJ IDEA. Дополнительные сведения см. в разделе Разработка собственных подключаемых модулей.
По умолчанию IntelliJ IDEA включает несколько встроенных подключаемых модулей. Вы можете отключить связанные плагины, но их нельзя удалить. Вы можете установить дополнительные плагины из репозитория плагинов или из локального архивного файла (ZIP или JAR).
Установить плагин из Marketplace
Нажмите Ctrl+Alt+S, чтобы открыть настройки IDE, и выберите Плагины.
Найдите подключаемый модуль в Marketplace и нажмите "Установить" .
Чтобы установить конкретную версию, перейдите на страницу подключаемого модуля в репозитории подключаемых модулей JetBrains, загрузите и установите ее, как описано в разделе Установка подключаемого модуля с диска. Например, вы можете сделать это, если самая последняя версия плагина не работает.
Установить плагин с диска
Скачать архив плагина (ZIP или JAR).
Нажмите Ctrl+Alt+S, чтобы открыть настройки IDE, и выберите Плагины.
На странице "Плагины" нажмите , а затем выберите "Установить плагин с диска...".
Выберите архивный файл плагина и нажмите OK .
Нажмите "ОК", чтобы применить изменения и перезапустить IDE, если будет предложено.
Удалить плагин
Вы не можете удалить связанные подключаемые модули.
Нажмите Ctrl+Alt+S, чтобы открыть настройки IDE, и выберите Плагины.
Откройте вкладку "Установлено" и найдите плагин, который хотите удалить.
Нажмите на панель описания подключаемого модуля и выберите Удалить .
Если вам нужно удалить подключаемый модуль, не запуская IntelliJ IDEA, вы можете удалить его вручную из каталога подключаемых модулей.
Отключить плагин
Вы можете отключить плагин, не удаляя его, если вам не нужны соответствующие функции.
Нажмите Ctrl+Alt+S, чтобы открыть настройки IDE, и выберите Плагины.
Откройте вкладку "Установлено", найдите и выберите подключаемый модуль, который нужно отключить.
Нажмите на панель описания подключаемого модуля и выберите "Отключить" .
Кроме того, вы можете использовать флажки в списке подключаемых модулей или кнопки "Отключить все" для категорий подключаемых модулей.
Вы можете отключить или включить сразу все установленные вручную плагины (не связанные) в меню в разделе .
Необходимые плагины
Для проекта могут потребоваться подключаемые модули, обеспечивающие поддержку определенных технологий или платформ. Вы можете добавить такие плагины в список необходимых плагинов для текущего проекта, чтобы IntelliJ IDEA проверила, установлены ли и включены ли плагины. Он уведомит вас, если вы забудете о каком-то плагине или кто-то из вашей команды не знает о зависимости во время работы над проектом.
Добавьте необходимый плагин для вашего текущего проекта
Убедитесь, что установлен необходимый подключаемый модуль.
Нажмите Ctrl+Alt+S, чтобы открыть настройки IDE, и выберите Build, Execution, Deployment | Необходимые плагины .
На странице "Необходимые подключаемые модули" нажмите и выберите подключаемый модуль. При желании укажите минимальную и максимальную версию подключаемого модуля.
Чтобы указать требуемую версию самого IntelliJ IDEA, добавьте IDE Core в список необходимых подключаемых модулей.
Когда вы откроете проект в IntelliJ IDEA, он уведомит вас, если подключаемый модуль отключен, не установлен или требует обновления.
Нажмите на ссылку в уведомлении, чтобы быстро включить, установить или обновить нужный подключаемый модуль.
Предлагаемые плагины
Когда вы открываете проект, IntelliJ IDEA может предложить установить и включить подключаемые модули на основе библиотек и фасетов, используемых в вашем проекте.Не путайте предлагаемые плагины с обязательными плагинами, которые вы можете вручную добавить в проект, чтобы ваши товарищи по команде также использовали его.
Если вам не нужен определенный подключаемый модуль, вы можете запретить IntelliJ IDEA предлагать его. Вы также можете использовать настройки уведомлений, чтобы отключить или включить уведомления обо всех предложениях плагинов и о том, как они отображаются.
Отключить предложения плагина
Когда появится уведомление о предлагаемом подключаемом модуле, нажмите Не предлагать этот подключаемый модуль .
В следующий раз, когда вы откроете проект, IntelliJ IDEA не будет предлагать этот подключаемый модуль. Вы по-прежнему можете проверить свой проект на наличие предлагаемых плагинов.
Проверить проект на наличие предлагаемых плагинов
Нажмите Ctrl+Shift+A и начните вводить Check Suggested Plugins .
Выберите действие «Проверить предлагаемые подключаемые модули».
Если в IntelliJ IDEA есть подключаемый модуль, применимый к вашему проекту, вы увидите уведомление. Нажмите на ссылку в уведомлении, чтобы установить или включить предлагаемый подключаемый модуль.
Разработайте собственные плагины
Для разработки подключаемых модулей можно использовать любую версию IntelliJ IDEA. Он предоставляет открытый API, специальный SDK, модуль и конфигурации запуска/отладки, которые помогут вам.
Рекомендуемый рабочий процесс — использование Gradle. Также поддерживается старый рабочий процесс с использованием внутренней системы сборки IntelliJ IDEA. Дополнительные сведения см. в Руководстве разработчика IntelliJ Platform SDK.
Пользовательские репозитории плагинов
По умолчанию IntelliJ IDEA настроен на использование подключаемых модулей из репозитория подключаемых модулей JetBrains. Это общедоступный репозиторий, где каждый может размещать свои плагины. Однако если вы разрабатываете подключаемые модули только для внутреннего использования, вы можете настроить для них собственный репозиторий подключаемых модулей.
Информацию о настройке собственного репозитория подключаемых модулей см. в документации по IntelliJ Platform SDK.
После того как вы настроите репозиторий плагинов, добавьте его в IntelliJ IDEA:
Добавить пользовательские репозитории
Нажмите Ctrl+Alt+S, чтобы открыть настройки IDE, и выберите Плагины.
На странице "Плагины" нажмите и выберите "Управление репозиториями плагинов...".
В диалоговом окне "Пользовательские репозитории подключаемых модулей" нажмите и укажите URL-адрес репозитория. Он должен указывать на расположение файла updatePlugins.xml. Файл может находиться на том же сервере, что и ваши пользовательские плагины, или на выделенном сервере.
Нажмите «ОК» в диалоговом окне «Пользовательские репозитории плагинов», чтобы сохранить список репозиториев плагинов.
Нажмите "ОК" в диалоговом окне "Настройки/Настройки", чтобы применить изменения.
При поиске подключаемых модулей IntelliJ IDEA покажет вам результаты как из репозитория подключаемых модулей JetBrains по умолчанию, так и из любых пользовательских репозиториев, которые вы укажете. Чтобы просмотреть только определенный пользовательский репозиторий плагинов, введите репозиторий: и URL-адрес репозитория в поле поиска на вкладке Marketplace на странице плагинов. Например:
Кроме того, вы можете добавить собственные репозитории плагинов с помощью свойства idea.plugin.hosts:
В главном меню выберите Справка | Изменить пользовательские свойства… .
Добавьте свойство idea.plugin.hosts в файл свойств платформы и укажите URL-адрес файла updatePlugins.xml. Например:
Чтобы добавить несколько URL-адресов, разделите их точкой с запятой ; .
Перезапустите IntelliJ IDEA.
Возможно, вы захотите заменить репозиторий подключаемых модулей JetBrains по умолчанию на собственный репозиторий подключаемых модулей. Это может быть полезно, если вы хотите, чтобы в IntelliJ IDEA были доступны только подключаемые модули вашего пользовательского репозитория.
Заменить репозиторий плагинов по умолчанию
В главном меню выберите Справка | Изменить пользовательские свойства… .
Добавьте свойство idea.plugins.host в файл свойств платформы и укажите URL-адрес приложения, которое может правильно обрабатывать запросы от IntelliJ IDEA, то есть выступать в качестве приложения-репозитория плагинов по умолчанию вместо репозитория плагинов JetBrains. р>
В частности, он должен обрабатывать следующие запросы:
Перезапустите IntelliJ IDEA.
Если вы замените репозиторий подключаемых модулей по умолчанию, в поле поиска на вкладке "Рынок" диалогового окна "Подключаемые модули" будут отображаться только подключаемые модули в новом репозитории по умолчанию и любые добавленные вами пользовательские репозитории.
Советы по продуктивности
Фильтрация и сортировка результатов поиска
Введите косую черту / в строке поиска, чтобы увидеть параметры фильтрации и сортировки результатов поиска. Например, вы можете добавить в строку поиска следующие параметры, чтобы перечислить только плагины, относящиеся к языку, и отсортировать их по количеству загрузок:
Добро пожаловать в руководство по разработке собственного мобильного плагина BlueConic! Это руководство предназначено для разработчиков Android. Существует также руководство для разработчиков iOS.
BlueConic предоставляет множество возможностей для интеграции с нативным мобильным приложением:
- Прислушивайтесь к поведению и обогащайте профиль ценностями
- Получение значений из профиля, например для предварительного заполнения значений формы.
- Создавайте собственные взаимодействия для диалогов.
В конце этого руководства вы создадите два подключаемых модуля:
- Подключаемый модуль BlueConic, который используется для настройки взаимодействия в BlueConic.
- Подключаемый модуль Android, который используется для отображения взаимодействия на устройстве.
Результат выглядит так:
Создание самого приложения для Android выходит за рамки этого руководства. Дополнительную информацию о работе с BlueConic из собственного приложения Android см. в BlueConic SDK для Android.
Создание плагина BlueConic
Ваш подключаемый модуль BlueConic позволит маркетологу создать диалог для мобильного канала, где он может настроить заголовок и текстовое сообщение для Android AlertDialog. Это текстовое сообщение будет получено и отображено вашим приложением.
Если вы еще не знакомы с основами создания подключаемого модуля BlueConic, взгляните на Учебник 1: Hello World!
Каталог mobilealert содержит только XML-файл определения. Сам по себе это целый плагин.
XML-файл определения
Файл определения XML позволяет BlueConic узнать, что содержит подключаемый модуль. Отредактируйте XML-файл определения mobilealert.xml следующим образом:
В приведенном выше примере показаны только XML-теги, относящиеся к нашему подключаемому модулю BlueConic. Полную документацию по всем возможным тегам и их значениям см. в справочнике по файлу определения XML. Наш XML-файл определения содержит следующие инструкции:
Упаковка плагина
С файлом определения XML для упаковки подключаемого модуля Mobilealert BlueConic теперь достаточно создать ZIP-файл с одним файлом в верхнем каталоге. Имя самого zip-файла не имеет значения, zip-файл — это всего лишь средство для передачи его содержимого в BlueConic.
Теперь у вас должен быть файл mobilealertandroid.zip, содержащий единственный файл, который мы создали выше.
Установка подключаемого модуля BlueConic
Упакованный плагин можно загрузить в BlueConic:
- Войти в BlueConic
- Откройте "Настройки > Плагины"
- Нажмите "Добавить/обновить плагин"
- Выберите "Загрузить ZIP-файл"
- Выберите ZIP-файл.
- Нажмите "Добавить плагин"
Создание собственного подключаемого модуля Android
Ваш встроенный плагин для Android будет взаимодействовать с вашим мобильным приложением. Важно убедиться, что полный путь к подключаемому модулю соответствует тегу подключаемого модуля com.blueconic.example.plugins.AlertPlugin в нашем примере XML.
Внедрите собственный плагин для Android
Создайте файл AlertPlugin в каталоге 'com/blueconic/example/plugins'. Структура должна выглядеть так:
Скопируйте в файл следующее содержимое:
Для разработки плагинов необходимо реализовать интерфейс плагинов. Метод init вызывается сразу после создания экземпляра плагина с двумя параметрами:
- BlueConicClient . Содержит экземпляр BlueConicClient.
- Контекст взаимодействия . Содержит экземпляр InteractionContext.
После этого вызывается метод onLoad, в котором вы можете реализовать свое взаимодействие.
Код использует BlueConic Mobile SDK для Android для получения значений параметров с именами title и content.
В вашем приложении перейдите к основному действию и добавьте следующий код в свой метод onResume():
Вы должны добавить этот код к каждому действию, для которого вы хотите показать взаимодействия. Установите свойство местоположения, чтобы каждое действие можно было идентифицировать уникальным образом. Местоположение можно использовать для ограничения взаимодействий на вкладке «Где» в BlueConic.
Создание диалога для плагина
Установив наш собственный плагин BlueConic и наш собственный плагин Android, интегрированный в наше приложение, мы теперь можем создать диалог, который его использует. Убедитесь, что ваш клиент содержит канал для вашего мобильного приложения.
- Откройте вкладку "Диалоги" в BlueConic.
- Создайте новый диалог, нажав «Добавить диалог».
- Назовите диалог "Hello World Android Dialogue".
- Выберите вкладку "Взаимодействие".
- В виджете «Свойства» выберите подключаемый модуль BlueConic «Мобильный диалог».
- Выберите канал своего мобильного приложения.
- Введите текст в поле заголовка и содержания.
- Включить диалог.
- Сохранить диалог.
Обзор
В этом руководстве вы узнали, как создать собственный подключаемый модуль AlertPlugin для Android, как установить его в BlueConic и как использовать в диалоговом окне, чтобы вы могли просматривать его в мобильном приложении.
Здесь вы можете перейти на страницу «Начало работы», чтобы найти дополнительные руководства, чтобы глубже погрузиться в тему плагинов BlueConic.
Чтобы разработать приложение с помощью API сервисов Google Play, следуйте инструкциям на этой странице, чтобы настроить проект с соответствующими пакетами SDK, доступными в репозитории Google maven.
Чтобы протестировать свое приложение при использовании сервисов Google Play, необходимо использовать одно из следующих действий:
- Совместимое Android-устройство с ОС Android 4.4 (уровень API 19) или выше, на котором установлено приложение Google Play Store.
- Эмулятор Android с AVD, на котором работает платформа API Google на базе Android 4.4 (API уровня 19) или более поздней версии.
Объявить зависимости для сервисов Google Play
Чтобы разработать в приложении функции, зависящие от API сервисов Google Play, выполните следующие действия:
Откройте файл build.gradle в каталоге модулей вашего приложения.
Для каждого SDK, который требуется вашему приложению, включите зависимость для этого SDK. На этой странице есть раздел, в котором перечислены общие зависимости сервисов Google Play для приложений Android. Вы также можете добавить в свой проект зависимости от Firebase.
Сохраните изменения и синхронизируйте свой проект.
В следующем фрагменте показан пример файла build.gradle, в котором используется библиотека местоположений:
Периодически выпускаются новые версии SDK сервисов Google Play с исправлениями ошибок и новыми функциями. Об этих обновлениях сообщается в примечаниях к выпуску. Если ваше приложение использует обновленную зависимость, перейдите на последнюю версию в зависимостях вашего приложения, чтобы воспользоваться этими исправлениями.
Проверьте, установлены ли сервисы Google Play
Как описано в обзоре сервисов Google Play, сервисы Google Play получают автоматические обновления на Android 4.4 (уровень API 19) и выше через приложение Google Play Store. Однако на устройствах Android без Google Play Store службы Google Play не установлены. Если ваше приложение работает на устройствах без сервисов Google Play, вы можете проверить, установлены ли сервисы Google Play на устройстве, прежде чем пытаться использовать Google API, или включить функции в вашем приложении, для работы которых требуются сервисы Google Play.< /p>
Чтобы проверить наличие сервисов Google Play на устройстве, используйте метод isGooglePlayServicesAvailable().
Чтобы затем начать подключение к службам Google Play или узнать, как определить, поддерживает ли установленная версия служб Google Play определенный API, прочитайте руководство по доступу к API Google.
Зависимости сервисов Google Play
В следующей таблице перечислены зависимости для сервисов Google Play, которые вы можете включить в свое приложение для Android. Вы можете отфильтровать список по типу устройства, выбрав одну из кнопок, а также выполнить поиск определенного варианта использования или имени зависимости, введя текст в поле, которое появляется после кнопок.
Телефоны и планшеты Android TV Auto Android Go Chrome OS Wear OS
Плагины для Gradle
Службы Google Play также включают несколько подключаемых модулей Gradle, как показано в следующей таблице. Обратите внимание, что кнопки, расположенные перед предыдущей таблицей, не изменяют информацию, отображаемую в этой таблице.
Таблица 2. Список подключаемых модулей Gradle, включенных в сервисы Google Play Случай использования и название подключаемого модуля Gradle | Поддерживаемые устройства |
Показать лицензии с открытым исходным кодом com.google.android.gms:oss-licenses-plugin:0.10.5 | Телефон, планшет, Chrome OS |
Строгая проверка версии com.google.android.gms:strict-version-matcher-plugin:1.2.2 | Телефон, планшет, Android TV, Auto, Android Go , Chrome OS, Wear OS |
Если не указано иное, содержимое этой страницы предоставляется по лицензии Creative Commons Attribution 4.0, а образцы кода — по лицензии Apache 2.0. Подробнее см. в Правилах сайта Google Developers. Java является зарегистрированным товарным знаком Oracle и/или ее дочерних компаний.
Вы хотите добавить в свой подфайл модуль 'cordova-plugin-file-transfer', '~> 1.6', подобный следующему:
Затем запустите установку модуля в своем терминале или из CocoaPods.app.
В качестве альтернативы, чтобы выполнить тестовый запуск, выполните команду:
под попробуй Cordova-plugin-file-transfer
Интеграция с AppSight.io
Веб-сайт CocoaPods имеет дополнительную интеграцию с AppSight.io, которая проверяет каждый пакет, который вы просматриваете, на наличие приложений, которые его используют.
AppSight.io — это сторонний сервис, который отслеживает использование SDK в популярных приложениях для iOS и Android.
название: Передача файлов
описание: Загрузка и скачивание файлов.
Android | iOS | Магазин Windows 8.1 | Windows 8.1 Phone | Магазин Windows 10 | Travis CI |
< /таблица>
Этот подключаемый модуль позволяет загружать и скачивать файлы.
Этот подключаемый модуль определяет глобальные конструкторы FileTransfer и FileUploadOptions.Несмотря на то, что в глобальном масштабе они доступны только после события deviceready.
Чтобы получить несколько идей, ознакомьтесь с образцом внизу этой страницы или сразу перейдите к справочному контенту.
Сообщите о проблемах с этим подключаемым модулем в системе отслеживания проблем Apache Cordova
Ссылка
Установка
Поддерживаемые платформы
- Amazon Fire OS
- Android
- Блэкберри 10
- Браузер
- ОС Firefox**
- iOS
- Windows Phone 7 и 8*
- Окна
* Не поддерживать ни onprogress, ни abort()
** Не поддерживать onprogress
Свойства
- onprogress: вызывается с ProgressEvent при каждой передаче нового блока данных. (Функция)
Методы
upload: отправляет файл на сервер.
скачать: загружает файл с сервера.
abort: Прерывает текущую передачу.
загрузить
Параметры:
fileURL: URL-адрес файловой системы, представляющий файл на устройстве, или URI данных. Для обратной совместимости это также может быть полный путь к файлу на устройстве. (См. примечания по обратной совместимости ниже)
server: URL-адрес сервера для получения файла, закодированный функцией encodeURI() .
successCallback: обратный вызов, которому передается объект FileUploadResult. (Функция)
errorCallback: обратный вызов, который выполняется, если возникает ошибка при получении FileUploadResult . Вызывается с помощью объекта FileTransferError. (Функция)
опции: необязательные параметры (Объект). Действительные ключи:
trustAllHosts: необязательный параметр, по умолчанию — false . Если установлено значение true , он принимает все сертификаты безопасности. Это полезно, поскольку Android отклоняет самозаверяющие сертификаты безопасности. Не рекомендуется для использования в производстве. Поддерживается на Android и iOS. (логическое)
Пример
Пример с заголовком загрузки и событиями выполнения (только для Android и iOS)
Результат загрузки файла
Объект FileUploadResult передается обратному вызову успешного выполнения метода upload() объекта FileTransfer.
Свойства
bytesSent: количество байтов, отправленных на сервер при загрузке. (длинный)
Особенности iOS
Не поддерживает responseCode или bytesSent .
Не поддерживает загрузку пустого файла с параметрами chunkedMode=true и multipartMode=false .
Причуды браузера
Причуды Windows
Параметр опции с пустым/нулевым значением исключается из операции загрузки из-за дизайна Windows API.
chunkedMode не поддерживается, и для всех загрузок используется нефрагментированный режим.
скачать
Параметры:
источник: URL-адрес сервера для загрузки файла, закодированный с помощью encodeURI() .
target: URL-адрес файловой системы, представляющий файл на устройстве. Для обратной совместимости это также может быть полный путь к файлу на устройстве. (См. примечания по обратной совместимости ниже)
successCallback: обратный вызов, которому передается объект FileEntry. (Функция)
errorCallback: обратный вызов, который выполняется, если при получении FileEntry возникает ошибка. Вызывается с помощью объекта FileTransferError. (Функция)
trustAllHosts: необязательный параметр, по умолчанию — false . Если установлено значение true , он принимает все сертификаты безопасности. Это полезно, поскольку Android отклоняет самозаверяющие сертификаты безопасности. Не рекомендуется для использования в производстве. Поддерживается на Android и iOS. (логическое)
options: необязательные параметры, в настоящее время поддерживаются только заголовки (например, авторизация (базовая аутентификация) и т. д.).
Пример
Причуды WP8
- Запросы на загрузку кэшируются собственной реализацией. Чтобы избежать кэширования, передайте заголовок if-Modified-Since в метод загрузки.
Причуды браузера
прервать
Прерывает текущий перенос. Обратному вызову onerror передается объект FileTransferError с кодом ошибки FileTransferError.ABORT_ERR .
Пример
Ошибка передачи файла
Объект FileTransferError передается в функцию обратного вызова при возникновении ошибки.
Свойства
код: один из предопределенных кодов ошибок, перечисленных ниже. (Число)
источник: URL-адрес источника. (строка)
цель: URL-адрес цели. (строка)
исключение: либо e.getMessage, либо e.toString (строка)
Константы
- 1 = FileTransferError.FILE_NOT_FOUND_ERR
- 2 = FileTransferError.INVALID_URL_ERR
- 3 = FileTransferError.CONNECTION_ERR
- 4 = FileTransferError.ABORT_ERR
- 5 = FileTransferError.NOT_MODIFIED_ERR
Причуды Windows
Примечания по обратной совместимости
Предыдущие версии этого подключаемого модуля принимали только абсолютные пути к файлам устройства в качестве источника для загрузки или цели для загрузки. Эти пути обычно имеют вид:
Для обратной совместимости эти пути по-прежнему принимаются, и если ваше приложение записало такие пути в постоянном хранилище, их можно продолжать использовать.
Эти пути ранее отображались в свойстве fullPath объектов FileEntry и DirectoryEntry, возвращаемых подключаемым модулем File. Однако в новых версиях подключаемого модуля File эти пути больше не отображаются для JavaScript.
Если вы выполняете обновление до новой (1.0.0 или новее) версии File и ранее использовали entry.fullPath в качестве аргументов для download() или upload() , вам нужно будет изменить свой код на вместо этого используйте URL-адреса файловой системы.
FileEntry.toURL() и DirectoryEntry.toURL() возвращают URL-адрес файловой системы в следующем виде:
который можно использовать вместо абсолютного пути к файлу как в методах загрузки(), так и в методах загрузки().
Пример: загрузка и загрузка файлов
Используйте подключаемый модуль File-Transfer для загрузки и скачивания файлов. В этих примерах мы демонстрируем несколько задач, таких как:
Загрузить двоичный файл в кеш приложения
Используйте подключаемый модуль File вместе с подключаемым модулем File-Transfer, чтобы задать цель для загружаемых файлов (цель должна быть объектом FileEntry). Перед загрузкой файла создайте объект DirectoryEntry, используя resolveLocalFileSystemURL и вызвав fs.root в обратном вызове успеха. Используйте метод getFile класса DirectoryEntry для создания целевого файла.
Примечание Для постоянного хранения передайте LocalFileSystem.PERSISTENT в requestFileSystem.
Если у вас есть объект FileEntry, загрузите файл, используя метод загрузки объекта FileTransfer. Третий аргумент функции загрузки FileTransfer — это обратный вызов успеха, который вы можете использовать для вызова функции приложения readBinaryFile. В этом примере кода переменная entry — это новый объект FileEntry, который получает результат операции загрузки.
Если вам просто нужно отобразить изображение, возьмите FileEntry для вызова его функции toURL().
В зависимости от требований вашего приложения вы можете прочитать файл. Для поддержки операций с двоичными файлами FileReader поддерживает два метода: readAsBinaryString и readAsArrayBuffer. В этом примере используйте readAsArrayBuffer и передайте методу объект FileEntry. После успешного чтения файла создайте объект Blob, используя результат чтения.
После того как вы успешно прочитаете файл, вы можете создать строку URL-адреса DOM с помощью createObjectURL , а затем отобразить изображение.
Как вы видели ранее, вместо этого вы можете вызвать FileEntry.toURL(), чтобы просто отобразить загруженное изображение (пропустить чтение файла).
Загрузить файл
Когда вы загружаете файл с помощью подключаемого модуля File-Transfer, используйте подключаемый модуль File для предоставления файлов для загрузки (опять же, они должны быть объектами FileEntry). Прежде чем вы сможете загружать что-либо, создайте файл для загрузки, используя метод getFile класса DirectoryEntry. В этом примере создайте файл в кеше приложения (fs.root). Затем вызовите функцию writeFile приложения, чтобы у вас было содержимое для загрузки.
В этом примере создайте простой контент, а затем вызовите функцию загрузки приложения.
Перенаправить объект FileEntry в функцию загрузки. Чтобы выполнить фактическую загрузку, используйте функцию загрузки объекта FileTransfer.
Скачать загруженный файл
В функции readFile вызовите метод readAsText объекта FileReader.
Следуйте инструкциям по настройке редактора, чтобы установить плагины Dart и Flutter.
Обновление плагинов
Обновления подключаемых модулей выпускаются регулярно. Вы должны получить запрос в среде IDE, когда будет доступно обновление.
Чтобы проверить наличие обновлений вручную:
- Откройте настройки («Android Studio» > «Проверить наличие обновлений» в macOS, «Справка» > «Проверить наличие обновлений» в Linux).
- Если в списке есть дротик или флаттер, обновите их.
Создание проектов
Вы можете создать новый проект одним из нескольких способов.
Создание нового проекта
Чтобы создать новый проект Flutter из шаблона начального приложения Flutter:
- В IDE нажмите «Новый проект» в окне приветствия или «Файл» > «Создать» > «Проект» в главном окне IDE.
- Укажите путь к Flutter SDK и нажмите «Далее».
- Введите желаемое название проекта, описание и местоположение проекта.
- Если вы можете опубликовать это приложение, укажите домен компании.
- Нажмите "Готово".
Настройка домена компании
При создании нового приложения некоторые подключаемые модули Flutter IDE запрашивают название организации в обратном порядке доменов, например com.example . Наряду с названием приложения оно используется в качестве имени пакета для Android и идентификатора пакета для iOS при выпуске приложения. Если вы думаете, что когда-нибудь выпустите это приложение, лучше указать это сейчас. Их нельзя изменить после выпуска приложения. Название вашей организации должно быть уникальным.
Создание нового проекта из существующего исходного кода
Чтобы создать новый проект Flutter, содержащий существующие файлы исходного кода Flutter:
В IDE нажмите «Создать новый проект» в окне приветствия или «Файл» > «Создать» > «Проект» в главном окне IDE.
Важно: не используйте параметр «Создать» > «Проект из существующих источников» для проектов Flutter.
Редактирование кода и просмотр ошибок
Подключаемый модуль Flutter выполняет анализ кода, что позволяет:
- Подсветка синтаксиса.
- Автозавершение кода на основе расширенного анализа типов.
- Переход к объявлениям типов (Переход > Объявление) и поиск вариантов использования типов (Правка > Найти > Поиск использований).
- Просмотр всех текущих проблем с исходным кодом (Просмотр > Окна инструментов > Dart Analysis). Любые проблемы анализа отображаются на панели Dart Analysis:
Запуск и отладка
Примечание. Отлаживать приложение можно несколькими способами.
- Используя DevTools, набор инструментов для отладки и профилирования, которые запускаются в браузере и включают инспектор Flutter. DevTools заменяет предыдущий браузерный инструмент профилирования Observatory.
- Использование встроенных функций отладки Android Studio (или IntelliJ), таких как возможность установки точек останова.
- С помощью инспектора Flutter, доступного непосредственно в Android Studio и IntelliJ.
Приведенные ниже инструкции описывают функции, доступные в Android Studio и IntelliJ. Информацию о запуске DevTools см. в разделе Запуск DevTools из Android Studio в документации DevTools.
Запуск и отладка управляются с главной панели инструментов:
Выбор цели
Когда проект Flutter открыт в IDE, вы должны увидеть набор специальных кнопок Flutter в правой части панели инструментов.
Примечание. Если кнопки «Выполнить» и «Отладка» отключены и в списке нет целей, Flutter не смог обнаружить какие-либо подключенные устройства iOS или Android или симуляторы. Чтобы продолжить, вам нужно подключить устройство или запустить симулятор.
- Найдите кнопку раскрывающегося списка Flutter Target Selector. Отобразится список доступных целей.
- Выберите цель, на которой вы хотите запустить свое приложение. При подключении устройств или запуске симуляторов появляются дополнительные записи.
Запуск приложения без точек останова
- Нажмите значок «Воспроизвести» на панели инструментов или выберите «Выполнить» > «Выполнить». На нижней панели «Выполнить» отображаются выходные данные журналов.
Запуск приложения с точками останова
- При желании установите точки останова в исходном коде.
- Нажмите значок "Отладка" на панели инструментов или выберите "Выполнить" > "Отладка".
- На нижней панели отладчика отображаются кадры стека и переменные.
- На нижней панели консоли отображаются подробные выходные данные журналов.
- Отладка основана на конфигурации запуска по умолчанию. Чтобы настроить это, нажмите кнопку раскрывающегося списка справа от селектора устройств и выберите Изменить конфигурацию.
Быстрое редактирование и обновление цикла разработки
Flutter предлагает лучший в своем классе цикл разработки, позволяющий почти мгновенно увидеть эффект ваших изменений с помощью функции Горячая перезагрузка с сохранением состояния. Подробнее см. в разделе Горячая перезагрузка.
Показать данные об эффективности
Примечание. Чтобы изучить проблемы с производительностью во Flutter, см. представление временной шкалы.
Чтобы просмотреть данные о производительности, включая информацию о восстановлении виджета, запустите приложение в режиме отладки, а затем откройте окно инструмента "Производительность", выбрав "Вид" > "Окна инструментов" > "Производительность Flutter".
Чтобы просмотреть статистику о том, какие виджеты перестраиваются и как часто, нажмите «Показать информацию о перестроении виджетов» на панели «Производительность». Точное количество перестроений для этого кадра отображается во втором столбце справа. При большом количестве перестроек отображается желтый вращающийся круг. Крайний правый столбец показывает, сколько раз виджет был перестроен с момента входа на текущий экран. Для виджетов, которые не перестроены, отображается сплошной серый кружок. В противном случае отображается серый вращающийся круг.
Приложение, показанное на этом снимке экрана, было разработано для обеспечения низкой производительности, а профилировщик перестройки дает вам представление о том, что происходит в кадре, что может привести к снижению производительности. Профилировщик перестроения виджета сам по себе не является средством диагностики низкой производительности.
Цель этой функции – информировать вас о перестроении виджетов. Вы можете не осознавать, что это происходит, просто глядя на код.Если виджеты перестраиваются неожиданно, возможно, это признак того, что вам следует провести рефакторинг кода, разделив большие методы сборки на несколько виджетов.
Этот инструмент может помочь устранить как минимум четыре распространенные проблемы с производительностью:
Весь экран (или его большие части) создается одним StatefulWidget, что приводит к ненужному созданию пользовательского интерфейса. Разделите пользовательский интерфейс на более мелкие виджеты с меньшими функциями build().
Внеэкранные виджеты перестраиваются. Это может произойти, например, когда ListView вложен в высокий столбец, выходящий за пределы экрана. Или когда RepaintBoundary не установлен для списка, выходящего за пределы экрана, что приводит к перерисовке всего списка.
Функция build() для AnimatedBuilder рисует поддерево, которое не нужно анимировать, что приводит к ненужной перестройке статических объектов.
Виджет «Непрозрачность» слишком высоко расположен в дереве виджетов. Или анимация непрозрачности создается путем непосредственного управления свойством непрозрачности виджета непрозрачности, что приводит к перестроению самого виджета и его поддерева.
Вы можете щелкнуть строку в таблице, чтобы перейти к строке в исходном коде, где создан виджет. Во время выполнения кода на панели кода также отображаются вращающиеся значки, помогающие визуализировать происходящие перестроения.
Обратите внимание, что многочисленные перестроения не обязательно указывают на проблему. Как правило, вам следует беспокоиться о чрезмерных перестроениях только в том случае, если вы уже запускали приложение в режиме профиля и убедились, что производительность не соответствует вашим требованиям.
И помните, информация о перестроении виджета доступна только в отладочной сборке. Проверьте производительность приложения на реальном устройстве в сборке профиля, но устраняйте проблемы с производительностью в отладочной сборке.
Советы по редактированию кода Flutter
Если у вас есть дополнительные советы, которыми мы хотели бы поделиться, дайте нам знать!
Подсказки и быстрые исправления
Быстрые исправления аналогичны, только они показаны с фрагментом кода, содержащим ошибку, и могут помочь в ее исправлении. Они отмечены красной лампочкой.
Обтекание новым вспомогательным виджетом
Это можно использовать, когда у вас есть виджет, который вы хотите поместить в окружающий виджет, например, если вы хотите поместить виджет в строку или столбец.
Обернуть список виджетов новым помощником по виджетам
Аналогичен показанному выше помощнику, но для переноса существующего списка виджетов, а не отдельного виджета.
Преобразование ребенка в помощь детям
Заменяет дочерний аргумент на дочерний аргумент и заключает значение аргумента в список.
Интерактивные шаблоны
Действующие шаблоны можно использовать для ускорения ввода типовых структур кода. Они вызываются путем ввода их префикса, а затем выбора его в окне завершения кода:
Подключаемый модуль Flutter включает следующие шаблоны:
- Префикс stless : создайте новый подкласс StatelessWidget .
- Префикс stful: создайте новый подкласс StatefulWidget и связанный с ним подкласс State.
- Префикс stanim : создайте новый подкласс StatefulWidget и связанный с ним подкласс State, включая поле, инициализированное с помощью AnimationController .
Вы также можете определить пользовательские шаблоны в меню "Настройки" > "Редактор" > "Интерактивные шаблоны".
Сочетания клавиш
Горячая перезагрузка
В Linux (раскладка клавиш по умолчанию для XWin) и Windows используются сочетания клавиш Control + Alt + ; и Control + обратная косая черта .
В macOS (сочетание клавиш копия Mac OS X 10.5+) используются сочетания клавиш Command + Option и Command + обратная косая черта .
Раскладки клавиатуры можно изменить в настройках/предпочтениях IDE. Выберите Раскладка клавиатуры, затем введите flutter в поле поиска в правом верхнем углу. Щелкните правой кнопкой мыши привязку, которую хотите изменить, и выберите Добавить сочетание клавиш.
Горячая перезагрузка и горячий перезапуск
Горячая перезагрузка работает путем внедрения обновленных файлов исходного кода в работающую виртуальную машину Dart. Сюда входит не только добавление новых классов, но и добавление методов и полей к существующим классам, а также изменение существующих функций. Однако некоторые типы изменений кода не могут быть загружены в горячем режиме:
- Инициализаторы глобальных переменных
- Инициализаторы статических полей
- Метод main() приложения
Чтобы внести эти изменения, вы можете полностью перезапустить приложение без завершения сеанса отладки. Чтобы выполнить горячую перезагрузку, не нажимайте кнопку «Стоп», просто повторно нажмите кнопку «Выполнить» (если в сеансе запуска) или кнопку «Отладка» (если в сеансе отладки) или нажмите кнопку «горячая перезагрузка», удерживая клавишу Shift.
Редактирование кода Android в Android Studio с полной поддержкой IDE
Открытие корневого каталога проекта Flutter не открывает доступ ко всем файлам Android в IDE. Приложения Flutter содержат подкаталог с именем android.Если вы откроете этот подкаталог как отдельный проект в Android Studio, среда IDE сможет полностью поддерживать редактирование и рефакторинг всех файлов Android (например, скриптов Gradle).
Если у вас уже открыт весь проект как приложение Flutter в Android Studio, есть два эквивалентных способа открыть файлы Android отдельно для редактирования в среде IDE. Прежде чем попробовать это, убедитесь, что у вас установлена последняя версия Android Studio и плагины Flutter.
- В «представлении проекта» вы должны увидеть подкаталог под корнем вашего флаттер-приложения с именем android . Щелкните его правой кнопкой мыши и выберите Flutter > Открыть модуль Android в Android Studio.
- ИЛИ вы можете открыть любой из файлов в подкаталоге android для редактирования. Затем вы должны увидеть баннер «Команды Flutter» в верхней части редактора со ссылкой «Открыть для редактирования в Android Studio». Нажмите на эту ссылку.
Для обоих вариантов Android Studio позволяет использовать отдельные окна или заменить существующее окно новым проектом при открытии второго проекта. Любой вариант подходит.
Если у вас еще не открыт проект Flutter в Android Studio, вы можете с самого начала открыть файлы Android как отдельный проект:
- Нажмите «Открыть существующий проект Android Studio» на заставке приветствия или «Файл» > «Открыть», если Android Studio уже открыта.
- Откройте подкаталог android непосредственно в корневом каталоге приложения flutter. Например, если проект называется flutter_app , откройте flutter_app/android .
Если вы еще не запустили приложение Flutter, Android Studio может сообщить об ошибке сборки при открытии проекта Android. Запустите flutter pub get в корневом каталоге приложения и перестройте проект, выбрав «Сборка» > «Создать», чтобы исправить это.
Редактирование кода Android в IntelliJ IDEA
Чтобы разрешить редактирование кода Android в IntelliJ IDEA, необходимо настроить расположение Android SDK:
- В меню «Настройки» > «Плагины» включите поддержку Android, если вы еще этого не сделали.
- Щелкните правой кнопкой мыши папку Android в представлении "Проект" и выберите "Открыть настройки модуля".
- На вкладке "Источники" найдите поле "Уровень языка" и выберите уровень 8 или выше.
- На вкладке "Зависимости" найдите поле SDK модуля и выберите Android SDK. Если SDK не указан, нажмите «Создать» и укажите расположение Android SDK. Убедитесь, что вы выбрали Android SDK, соответствующий тому, который используется во Flutter (как сообщает flutter doctor ).
- Нажмите "ОК".
Советы и рекомендации
Устранение неполадок
Известные проблемы и отзывы
Важные известные проблемы, которые могут повлиять на вашу работу, задокументированы в файле README подключаемого модуля Flutter.
Все известные ошибки отслеживаются в системе отслеживания ошибок:
Мы приветствуем отзывы как об ошибках/проблемах, так и о пожеланиях. Перед подачей новых вопросов:
- Выполните быстрый поиск в средствах отслеживания проблем, чтобы убедиться, что проблема уже отслежена.
- Убедитесь, что у вас установлена самая последняя версия подключаемого модуля.
При подаче новых задач включите вывод flutter doctor .
Если не указано иное, эта работа распространяется под лицензией Creative Commons Attribution 4.0 International License, а образцы кода распространяются под лицензией BSD.
Читайте также: