mafulechka
mafulechka28 мая 2020 г. 14:43

Что нового в Qt для Android?

Qt 5.15 LTS и Qt для Android

Поскольку многие разработчики используют Qt для Android, компания Qt хочет улучшить опыт разработчиков. В следующем выпуске Qt 5.15.0 разработчики Qt обновили документацию для Android. Обновлённая документация содержит много нового контента о том, как использовать Qt для Android, чтобы максимально реализовать его потенциал. Более подробно объясняется, как расширить Qt для поддержки более продвинутых функций и улучшения интеграции с API-интерфейсами Android.


Основные темы, которые были улучшены в документации:

• Расширение приложений Qt для использования пользовательских классов или asset’ов Java и структуры упаковки.
• Управление версиями зависимостей между Android Native Development Kit (NDK) и Qt.
• Как работать с сервисами Android множеством разных способов.
• Как создать и использовать OpenSSL с Android. Зависимости между репозиторием OpenSSL поддерживают все версии Qt, как с QMake, так и с CMake.

В этом же контексте было исправлено множество примеров Qt, у которых были некоторые проблемы, такие как макет, масштабирование или разрешения. Qt 5.15.0 Qt Android Extras поставляется с новым примером кода Qt Java Native Interface Messenger (Qt JNI Messenger). В примере демонстрируется одна из самых важных тем при использовании Qt для Android, а именно связь JNI. Она объясняет рабочий процесс вызова методов и обмена данными между Java и Qt. Пример служит отправной точкой для соединения Qt и Android в обоих направлениях.

Обеспечивая правильную интеграцию с Android, диалоговое окно собственных файлов Android теперь можно использовать по умолчанию, открывая файлы и сохраняя операции. Нативный файловый диалог также использует файловую схему Android (Android’s ‘content’ file scheme) для контента файлов и проводит дополнительные проверки исключений, которые в прошлом вызывали некоторые случайные сбои. AndroidManifest.xml больше не устанавливает значения minSdkVersion и targetSdkVersion. Вместо этого вы можете установить их с помощью файла build.gradle . Android Studio выдаст предупреждение о настройке версий SDK в файле манифеста.

Qt Creator 4.12

Последний выпуск Qt Creator принес существенные улучшения для разработки под Android. Qt Creator теперь может автоматически устанавливать Android SDK, который является основным блоком для сборки и запуска приложений Qt для Android. Он предложит вам установить необходимые пакеты для разработки. Более того, использование OpenSSL в ваших приложениях теперь стало более простым с Qt Creator, что позволяет вам устанавливать локальный путь к библиотеке и использовать его с любым проектом из настроек комплекта.

Одной из существенных особенностей поддержки Qt для Android было отсутствие управления версиями Qt и NDK. В прошлом у Qt Creator мог быть только один действительный NDK, что в данный момент может беспокоить при работе с несколькими версиями и проектами Qt. Версии Qt для Android опирались на разные версии NDK, и разработчик должен был выбрать и переключиться на правильную версию вручную. Вот почему разработчики Qt представили способ управления несколькими версиями Qt и связывания каждой из них с соответствующей версией NDK. Qt Creator отслеживает это, используя общий файл конфигурации. Кроме того, по желанию можно использовать собственные пути NDK.

Некоторые другие изменения, которые внесли разработчики Qt, включают список примеров для наборов Android, показывающий такие примеры, которые были протестированы и работают на устройствах Android. Например, примеры, которые не показаны по умолчанию, включают в себя те, которые имеют неподдерживаемые функции или модули на Android. Кроме того, улучшение дизайна и функциональности пользовательского интерфейса включали AVD Manager , который получил некоторую гибкость при создании AVD, а также выбор значков редактора манифеста (Manifest Editor) .

Взгляд в будущее

Чтобы хорошо обслуживать мобильных пользователей Qt, компания Qt собирается представить еще много обновлений для поддержки Android. Разработчики Qt создадут больше примеров, документации и функциональных возможностей, проложив путь к простой и продвинутой разработке для Android.

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
S
  • SusLik
  • 28 мая 2023 г. 13:34

C++ - Тест 001. Первая программа и типы данных

  • Результат:53баллов,
  • Очки рейтинга-4
S
  • SusLik
  • 28 мая 2023 г. 13:27

C++ - Тест 003. Условия и циклы

  • Результат:57баллов,
  • Очки рейтинга-2
g

C++ - Тест 005. Структуры и Классы

  • Результат:100баллов,
  • Очки рейтинга10
Последние комментарии
Evgenii Legotckoi
Evgenii Legotckoi25 мая 2023 г. 14:49
Как написать игру на Qt - Урок 2. Анимация героя игры (2D) Код на строчка 184-198 вызывает перерисовку области на каждый 4-й такт счётчика. По той логике не нужно перерисовывать объект постоянно, достаточно реже, чем выполняется игровой слот. А слот вып…
J
JonnyJo21 мая 2023 г. 20:49
Как написать игру на Qt - Урок 2. Анимация героя игры (2D) Евгений, благодарю! Всё равно не совсем понимаю :( Если муха двигает ножками только при нажатии клавиш перемещение, то что, собственно, делает код со строк 184-198 в triangle.cpp? В этих строчка…
Evgenii Legotckoi
Evgenii Legotckoi21 мая 2023 г. 15:57
Как написать игру на Qt - Урок 2. Анимация героя игры (2D) Добрый день. slotGameTimer срабатывает по таймеру и при каждой сработке countForSteps увеличивается на 1, это не зависит от нажатия клавиш, нажатая клавиша лишь определяет положение ножек, котор…
J
JonnyJo20 мая 2023 г. 21:27
Как написать игру на Qt - Урок 2. Анимация героя игры (2D) Евгений, здравствуйте! Подскажите, а почему при нажатии одной клавиши переменная countForSteps увеличивается не на 1, на 4, ведь одно действие даёт увеличение этой переменной только на единицу? …
Сейчас обсуждают на форуме
Evgenii Legotckoi
Evgenii Legotckoi16 апреля 2023 г. 14:07
Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Да, это возможно. Но подобные вещи лучше запускать через celery. То есть drf принимает команду, и после этого регистрирует задачу в celery, котроый уже асинхронно всё это выполняет. В противном …
АБ
Алексей Бобров15 декабря 2021 г. 6:03
Sorting the added QML elements in the ListModel I am writing an alarm clock in QML, I am required to sort the alarms in ascending order (depending on the date or time (if there are several alarms on the same day). I've done the sorting …
Evgenii Legotckoi
Evgenii Legotckoi29 марта 2023 г. 14:11
Замена поля ManyToMany Картинки точно нужно хранить в медиа директории на сервере, а для обращения использовать ImageField. Который будет хранить только путь к изображению на сервере. Хранить изображения в базе данных…
Evgenii Legotckoi
Evgenii Legotckoi24 апреля 2023 г. 13:22
Пакеты данных между сервером и клиентами Привет. Если классы имеют что-то общее в полях, а также общую идеологию и их можно вписать в иерархию наследования, то в первую очередь переписать так, чтобы один базовый класс объединял в…

Следите за нами в социальных сетях