© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
6 марта 2018 г. 7:17

AndroidAndroid. Java vs Qt QML - Урок 005. Создаём контекстное меню

Qt, Menu, JAVA, Android, QML

После того, как мы разобрались с тем, как создать меню в Action Bar, добавим контекстное меню к каким-нибудь объектам.

В данном уроке добавим два текстовых поля, которые будут иметь контекстное меню.

  • Контекстное меню первого текстового поля будет изменять цвет и размер текста в первом текстовом поле
  • Контекстное меню второго текстового поля будет просто изменять текст во втором текстовом поле.

Первое контекстное меню будет иметь два подменю, первое будет отвечать за изменение цвета, а второе будет отвечать за изменение размера.

ActionBar в Java активити отключим, чтобы он не мешался.

5 марта 2018 г. 8:13

AndroidAndroid. Java vs Qt QML - Урок 000. Включение Material Design

material design, Android

При разработке как на Java, так и на Qt QML требуется включение Material Design.

Material Design на Java

В случае с Java достаточно включить оформление темы в файле styles.xml и задать необходимую цветовую гамму для приложения.

styles.xml

<resources>

    <style name="AppTheme" parent="android:Theme.Material">
        <!-- Main theme colors -->
        <!--   your app branding color for the app bar -->
        <item name="android:colorPrimary">@color/colorPrimary</item>
        <!--   darker variant for the status bar and contextual app bars -->
        <item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
        <!--   theme UI controls like checkboxes and text fields -->
        <item name="android:colorAccent">@color/colorAccent</item>
    </style>

</resources>
2 марта 2018 г. 7:53

AndroidAndroid. Java vs Qt QML - Урок 004. Создание меню в Action Bar с подменю

Qt, JAVA, Android, QML

Итак, продолжаем реализовывать одинаковый функционал в приложениях под Android из двух принципиально различных миров. А именно на традиционной Java и менее распространённом Qt QML C++.

На этот раз реализуем меню в ActionBar активити. Отмечу, что ActionBar для варианта с QML придётся писать самостоятельно, поскольку такого элемента в Qt QML нет, но он реализуется через компонент ToolBar. Поскольку этот момент был описан в уроке про Hello World , то в данном уроке тщательно останавливаться на нём не будем, только вынесем ActionBar в отдельный QML файл, сделав его отдельным типом QML и добавим в него иконку меню, по нажатию на которую будем вызывать меню.

Меню будет следующую структуру:

  • Information
    • First
    • Second
  • About

В центре окна приложения должен быть текст, который будет заменяться другим текстом при нажатии следующие пункты меню

  • First
  • Second
  • About
1 марта 2018 г. 7:58

AndroidAndroid. Java vs Qt QML - Урок 003. Сообщения в консоли и всплывающие сообщения Toast

Android, Toast, QML, log, Qt, JAVA, console

В предыдущей статье было создано две кнопки, которые отвечали за смену текста в текстовом поле. А теперь давайте рассмотрим вариант, когда нам надо вывести информацию в консоль о нажатиях по кнопкам, или вывести всплывающее сообщение. То есть модифицируем предыдущий урок.

По факту, это будет тот самый момент, когда дополнительных различий в коде практически не будет. В обоих случаях имеются соответствующие Классы/Типы, которые отвечаю за весь данный функционал.

Вывод в консоль

В случае с Java для этого служит класс Log, а в случае с QML для этого служит функционал console, который хорошо знаком Web-программистам.

Сообщения консоли имеют различные уровни важности:

  • ERROR
  • WARN
  • NFO
  • DEBUG
  • VERBOSE
27 февраля 2018 г. 7:40

AndroidAndroid. Java vs Qt QML - Урок 002. Обработка нажатий по кнопкам

Qt, Android, JAVA, button, QML

После того, как мы познакомились с Hello World из мира Java и Qt QML под Android, предлагаю написать приложение, которое будет иметь две кнопки и по нажатию на эти кнопки будет изменять текст в небольшом текстовом поле. Приложения должны выглядеть одинаково, но не на 100 процентов идентично. При желании этого можно добиться, но в данном примере не обязательно.

В обоих случаях будет использоваться Material Design .

Прежде, чем посмотреть на программный код, посмотрим на внешний вид обоих приложений.

Приложение, которое написано на Java

26 февраля 2018 г. 13:22
KenyZ

Настройка Qt Creator 4.5.1 для написания Android приложений.

Доброго времени суток!
Я относительный новичек в Qt, как и в серьезной работе с IDE. У меня есть базовые знания C++, но весь мой опыт это прикручивание PostgreSQL к проекту игры на UE4 и работа с довольно простым API UE4 (C++). Однако, мне понадобилось создать довольно простое приложение-опросник для работы ( опрос пациентов, составление анамнеза ), поэтому я обратился к Qt и QML, по совету хорошего друга.

Вообщем, я скачал SDK и NDK, поставил JDK 9 (потом пришлось ставить 8)? Creator наконец подхватил все библиотеки, но в итоге встал вопрос, а что дальше? Вся имеющаяся документация либо про какие-то специфичные платформенные фичи, либо просто устарела.
Меня интересует настройка, то есть выбор компилятора, подключение устройства для отладки и другие настройки, которые я по незнанию могу пропустить, но они потом создадут мне проблемы. Кроме того, даже с подключенными библиотеками я не могу создать проект под Android, апять же из-за отсутствия настроенного профиля, а он в свою очередь жалуется на отсутствие дебагера, ну и так далее.
Может есть какой-то мануал поподробнее, ткните, может я слеп?))

Понимаю, что это звучит как "расскажите как все сделать", но в IDE в этом плане столько разных настроек, компиляторов и всего другого, что аж глаза разбегаются.

Заранее спасибо, и извиняюсь за нубскую тему. ^_^

19 февраля 2018 г. 7:13

AndroidAndroid. Java vs Qt QML - Урок 001. Hello World

Qt, JAVA, Android, QML

Любопытства ради решил сравнить два варианта написания приложений под Андроид. Когда-то давно начинал заниматься программированием под Андроид на Java, но со временем перешёл на разработку Desktop приложений на Qt QML. Но теперь вновь решил освежить в памяти некоторые аспекты, чтобы убедиться, что Qt QML мне нравится больше.

Сразу приведу результат двух Hello world`ов. Они конечно не будут на 100 процентов идентичны, но должны быть похожи. В качестве базового примера возьму пустую Activity, которая создаётся в Android Studio.

Первый образец - это Hello World на Java

27 мая 2017 г. 10:46
TheGringerEye

Переводы для Android приложения.

У меня для win32 автоматически делаются переводы через такие строчки в .pro:

tr.commands = lupdate $$_PRO_FILE_ && lrelease $$_PRO_FILE_
    PRE_TARGETDEPS += tr
    QMAKE_EXTRA_TARGETS += tr
При попытке компиляции под китом Android v7a у меня появилась ошибка "[tr] error 1" При оборачивании этих строк в win32 {} ошибка естественно пропала. Вопрос: как сделать переводы под Android?
17 октября 2016 г. 9:42
Саша Данилов

Установка на паузу звука при сворачивании приложения на мобильных

В игрушке устанавливаю бесконечно повторяющийся фоновой звук, на десктопах логично, что свернутое окно продолжает работать и воспроизводит звук, но на мобильных при переключении на другое приложение, в предыдущем следует отключать звук и ставить игру на паузу (если, конечно, речь не о музыкальном плеере). Есть возможность простым способом отловить перемещение приложения в фон, чтобы поставить игру на паузу, либо, хотя бы выключить звук?

На данный момент представляю себе только способ с переназначением java функций для андроид, где перехватывать событие onPause.

Нашёл готовую функцию для выхода звук в V-Play http://v-play.net/doc/vplay-backgroundmusic/ однако это является проприетарным ПО.

Как вариант для себя вижу в AndroidManifest.xml установить, чтобы приложение закрывалось при переключении, что заодно будет и выключать звук, а состояние игры хранить и при повторном запуске игры восстанавливать.

16 августа 2016 г. 9:17
Виталий Крот

Работа приложения в фоне (Android)

Собственно кто разбирался с данным вопросом ? Android Services
15 августа 2018 г. 19:02
Lord Inquisitoris

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

  • Результат 57баллов,
  • Очки рейтинга-2
15 августа 2018 г. 18:58
Lord Inquisitoris

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

  • Результат 83баллов,
  • Очки рейтинга4
15 августа 2018 г. 9:29
Леха Завистович

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

  • Результат 86баллов,
  • Очки рейтинга6
Последние комментарии
10 августа 2018 г. 13:40
Alex

Работа с триггерными функциями в PostgreSQL

Приветствую! Если вы создаете новую таблицу, почему бы просто не сделать вьюху ? Просто от одного названия "триггер" как-то не хочется его использовать, а уж кода сколько писа...
10 августа 2018 г. 11:46
Евгений Легоцкой

Bash скрипт для создания и скачивания дампа базы данных и медиа файлов с удаленного сервера

Вон оно что. Не сталкивался с таким, надо будет глянуть исходники дефолтного менеджера объектов. Возможно там кеширование просто. Пробовали добавить запись через adminer, перезапусти...
10 августа 2018 г. 11:34
Alex

Bash скрипт для создания и скачивания дампа базы данных и медиа файлов с удаленного сервера

допустим у нас есть любая таблица, созданная джангой. через админку добавляем пару записей. все ок. далее, лично в моем случае , я открываю adminer, и в эту таблицу добавляю еще одну зап...
Сейчас обсуждают на форуме
15 августа 2018 г. 14:06
Олег Корнев

Как подключить QtCharts в QML?

После некоторых манипуляций (переустановил креатор) смог запустить экземплы с использованием QtCharts, но все они работают с подключениями в файлах .pro .cpp, у меня таких файлов нет. Как...
14 августа 2018 г. 7:02
Ruslan-maniak

Переключение страниц и перевод фокуса на потомка новой страницы

Большое спасибо. Подтолкнули меня на мысль вынести обработку клавиш из PathView на всю страницу. И тогда - да, ваша подсказка работает. добавил в StackView onCurrentItemChanged: currentItem.fo...
14 августа 2018 г. 6:39
Евгений Легоцкой

Как сделать аудиовизуализацию для плеера на qt?

Добрый день. Просмотрите пример в Qt Creator, который на QML, там реализовано визуализация, возможно вам понравится использовать, QML, да и кастомные интерфейсы на нём всё-таки лучше...
11 августа 2018 г. 10:12
Евгений Легоцкой

Qt C++ vs QML

Добрый день. Если Андроид предполагается, то конечно нужно использовать QML. Я занимался разработкой арканоида на QML и ещё одной игры. Пытался реализовывать логику на QML, но это ...
11 августа 2018 г. 9:24
Евгений Легоцкой

Помогите со слоями

Проверочное сообщение

Рекомендуемые страницы